求助,调用dll 返回wchart_t* 如何实现 VB中调用c++ dll 返回wchart_t* 如何实现 例如 wchart_t* TagName(); 释放时调用 FreeString(wchart_t* pVal)不是vb。net在vb中如何调用此dll 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 wchart_t* 就是“宽字节字符指针“吧!应该就是一串UTF-16编码的字符串数据。这个API是不是还有一个返回参数,是代表字符数的?VB6的声明应该就是类似这样:Private Declare Function TagName Lib "XXXX.dll" ( ) as long 调用时,用一个Long类型变量接收返回值。要获取数据,就另外用一个字节数组或者String类型变量,通过API copymemory() 来拷贝。如果没有“长度”的返回参数或函数接口,那么它肯定就是用vbNullChar来标识结束的(wchart_t应该是用连续两字节0)。反正你要注意,在copymemory() 之前,字节数组或String变量,要先“开辟足够大的数据区”!接收TagName() 返回值的变量,是要用Byval 形式传递给copymemory。 还有个问题操作系统的filetime在VB中如何显示在文本框中 跟你说的差不多,我使用的strcpy 用strcpy也应该能达到效果。但同样要注意“事先开辟足够大的数据区”。 Private Declare Sub GetSystemTimeAsFileTime Lib "Kernel32" (ByRef lpSystemTimeAsFileTime As FILETIME) 跟你说的差不多,我使用的strcpy想到一个问题:strcpy是“A版”的API,你用它拷贝数据,很可能出现字符串不完整的情况。如果是UTF-16编码,那任意一个标准ASCII字符的第二个字符就是0,这样只要遇到西文字符,它就认为字符串已经结束了。 只有在字符串不包含标准ASCII字符的情况下才适用。当然,如果这个wchart_t*指向的字符串是UTF-8编码的,也可以用strcpy来正确拷贝。 文件保护,我有一文件,运行后不能被别人复制,如何处理? VB如何将程序窗口中指定区域的内容在后台保存为图片? 有关水晶报表的问题! datagrid问题,请faysky2和各位高手回答,谢谢 关于程序窗体方面的问题 个人说明 来者有分 要不是有100分限制 我狂散 分 散光为止 (有点郁闷)!! 在中间层怎么缓存数据?比如一个字符窜? 帮帮我~~~~~~~20分啊~~~~~~~~~~~~ 救命... VB数据库问题 list求助 Vb搭建读取Access数据库数据的界面,每次调取20行记录,分5次读取完。
这个API是不是还有一个返回参数,是代表字符数的?VB6的声明应该就是类似这样:
Private Declare Function TagName Lib "XXXX.dll" ( ) as long
调用时,用一个Long类型变量接收返回值。
要获取数据,就另外用一个字节数组或者String类型变量,通过API copymemory() 来拷贝。
如果没有“长度”的返回参数或函数接口,那么它肯定就是用vbNullChar来标识结束的(wchart_t应该是用连续两字节0)。
反正你要注意,在copymemory() 之前,字节数组或String变量,要先“开辟足够大的数据区”!
接收TagName() 返回值的变量,是要用Byval 形式传递给copymemory。
但同样要注意“事先开辟足够大的数据区”。
想到一个问题:strcpy是“A版”的API,你用它拷贝数据,很可能出现字符串不完整的情况。
如果是UTF-16编码,那任意一个标准ASCII字符的第二个字符就是0,这样只要遇到西文字符,它就认为字符串已经结束了。
只有在字符串不包含标准ASCII字符的情况下才适用。
当然,如果这个wchart_t*指向的字符串是UTF-8编码的,也可以用strcpy来正确拷贝。