通过DLL的RTF 2 HTML转换不工作
RTF 2 HTML conversion via DLL is not working
这个问题可能会很棘手。
场景:
我正在使用一个名为Team Developer 6.1
的IDE。它有自己的编程语言,叫做Gupta / Centura
。现在,由于我没有其他的机会以其他方式做到这一点,我必须使用RTF-Control元素来获得GUI中的一点可用性。
我想要实现的是发送电子邮件,但内容是在RTF,我必须将其转换为HTML。
不管怎样…我绑定在一个名为doxlib.dll
的DLL中,里面有2个我想使用的函数。
_DoxConvert (将rtf文件转换为html文件)
_DoxStringConvert (将rtf-content转换为html-content)
我在网上找到了一些东西,帮助我让第一个运行。
最后从这里的第三个帖子使它运行!
第二个函数让我抓狂,因为我没有得到任何输出,我不知道为什么。我想这与output length buffer
有关。此外,该函数一直返回0
,但在样本中,它应该返回某种数字…实际上,这是我的观点,我没有阅读第三个回复:D
如果第三个回复将从autoit转换为c++,有人知道这在c++中会是什么样子吗?
现在我的呼叫看起来像(Centura)
Function: ConvertToHTML
Parameter: String sInput
String sOutput
Set nLen = _DoxStringConvert( sInput , SalStrGetBufferLength( sInput ), sOutput, SalStrGetBufferLength( sOutput), DOX_IN_RTF|DOX_OUT_HTML )
样本叫:Call ConvertToHTML( "my string", output_var )
但是这个输出长度对我来说似乎是错误的^^
您正在使用UNICODE的TD6.1。由于Team Developer在v5.0中从ANSI切换到Unicode, SalStrGetBufferLength()已弃用。您需要使用SalGetBufferLength()以获得更好的结果。
SalGetBufferLength()获取字节数用于存储指定字符串的缓冲区。
同样,当从TeamDeveloper调用任何外部函数时,您必须使用SalSetBufferLength为任何字符串分配内存,即
bOk = SalSetBufferLength(sTargetStr, nBuffLength)
设置缓冲区用来存储指定字符串的字节数。
在你的情况下调用SalSetBufferLength(sInput, nnn)调用SalSetBufferLength(sOutput, nnn)然后Set nLen = _DoxStringConvert(....
- 如何定义在用作函数参数时工作的类模板的转换
- 将双精度值转换为 char 变量时字符串流如何工作
- 隐式转换是否应该在模板参数的上下文中工作?
- strcmp/char* 转换无法按预期工作
- 如何在 Poco 中将工作 HTTP 代码转换为 HTTPS
- Qt-工作线程崩溃时将cv::Mat转换为QImage
- 我的代码在作为参数传入 .begin() 时不起作用,但在我将 .begin() 转换为迭代器后工作
- 字符串文字到 char 数组的转换如何在C++中实际工作
- 将缓冲区转换为在现有程序中工作的iStream
- 更新MySQL连接器后,隐式转换停止工作
- 为什么Arduino(小端序)上的Sha1在没有转换为大端序的情况下工作?
- 如何使转换功能工作?
- 以下对二进制转换代码的小数如何工作
- 隐式转换未按预期工作
- 尝试将工作python程序转换为C++但不起作用
- 字符串到字符指针的转换如何在C++中工作
- 如何将负数转换为更广泛的类型在内部工作
- 十六进制、二进制和 oct 到 dec 转换器无法正常工作C++
- C++到C的转换工作流程
- C++如何用引用进行转换工作