有关VB调用C++编写的dll函数中含char*参数的问题,想不出来,请高手帮助解决

yanki1979 2003-08-19 08:30:02
我发现vb的string型好像不能跟c++的char *型匹配
某c++编写的My.dll文件函数声明如下:
#define DT_decl __declspec(dllexport) WINAPI
typedef unsigned char BYTE;
typedef unsigned short WORD;
int DT_decl DT_read(HANDLE handles,BYTE len,char *comm,WORD *lenr,char *ret);
而我在vb中调用这个函数,声明如下:
Declare Function DT_read Lib "My.dll" (ByVal hReader As Long, ByVal len As Byte, ByVal comm as String, ByRef lenr As Byte, ByVal resp As String) As Long
但是呢我发觉无论怎么样,vb的String型就是不能跟C的char型数组或指针匹配,本该在comm参数里头填char c[50];c="\x00\xA5...\x00"的以字节为单位字符串,但String型好像都是以字节为单位,而我String s=ChrB(0)+ChrB(&HA5)...+ChrB(0)这样做也不对。然后我用什么StrPtr等等都不能正确使用,难道我非要用C来完成这种工作。不想用VC++啊,请高手赐教
...全文
109 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧