使用VB调用DLL时返回类型 LPSTR 出错 GetName(VOID);
声明Declare Function GetName Lib "test.dll" () As String 调用中Dim sName As String
sName = GetName() 时在返回单个字符没有问题, 返回是多个字符的话就会报错 ,这个是什么问题 比如 sName 返回 "张Chr(0)"正常 ,返回 "张三Chr(0)"就会报错
DLL文档里函数说明 LPSTR GetName(VOID);
成功返回姓名字符串,失败返回 NULL。
我的理解是返回的是一个指针,声明的时候不应该是string,而是long
然后用copymemory读取。对错与否须要楼主验证一下了。
Private Declare Function GetName Lib "test.dll" () As Long