【请教高手】VC写的dll中的字符串char*传给PB的string,string的前几个字符偶尔会出现乱码

ceceboss 2006-06-22 10:57:33
pb与dll有一个相对应的结构体,这两个结构体中的字符串在调用中传递时出现了乱码

比如:
vc中的字符串:2_00000000
到了pb: ?000000


并不总是发生乱码,往往是在程序运行后的第一次调用时出现此情况,之后的调用就正常了
...全文
502 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuddian 2006-09-09
  • 打赏
  • 举报
回复
我也遇到类似的问题,不过我是用VC6写的一个ACTIVEX控件,参数的类型是BSTR*。
现在还没有找到解决方法。
小潜s 2006-06-26
  • 打赏
  • 举报
回复
如果填了也不行,那就是这个DLL不支持PB了,很多DLL对PB的支持都不太好,我碰到这个情况,一般是自己再用VC写个接口,调用这个DLL,然后PB里调用自己写的接口,虽然很麻烦,不过,也没有啥好的办法
ceceboss 2006-06-22
  • 打赏
  • 举报
回复
是引用调用。
pb中的结构体StrucPB,其间有一字符串string变量。
在pb中调用dll函数int GetInfo(ref StrucPB) 获取字符串内容
wfliu 2006-06-22
  • 打赏
  • 举报
回复
你定义时是否采用引用调用 ?
ceceboss 2006-06-22
  • 打赏
  • 举报
回复
空格也是填了的
K1933 2006-06-22
  • 打赏
  • 举报
回复
支持楼上,我也曾经出错过。
小潜s 2006-06-22
  • 打赏
  • 举报
回复
试试在PB调用之前,先用空格把字符串变量填满,以前我调用一个别人用VB写的接口的时候,就是这样整的

681

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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