问题描述如题,情景很简单,就是PB调用DLL(delphi开发),传入结构体的话,就是乱码,但是Delphi做的Demo调用DLL就没有问题,我在网上查过,说是有可能在PB传入的结构体是局部变量,被回收了。我看了不是局部变量啊。小弟初遇难题,还请大虾们不吝赐教,^_^
------解决方案--------------------
你用的PB几?PB10以上申明dll函数注意后面加上;ansi
------解决方案--------------------
PB10以上的版本,声明API时如果有字符串的参数或者返回值时,需要在函数声明后加ansi
如:
FUNCTION long FindWindowA( ulong Winhandle, string wintitle ) Library "user32" alias for "FindWindowA;Ansi"
在pb10以前的版本,你可以这样声明
FUNCTION long FindWindowA( ulong Winhandle, string wintitle ) Library "user32" alias for "FindWindowA"
------解决方案--------------------
动态库没问题的话就应该是字符集的问题了 代码贴来看看
------解决方案--------------------
pb10 以上,字符集的问题,挺烦人的
------解决方案--------------------
类似的问题,但是如果不加:Ansi还好,加上以后运行就报错,这个……什么意思嘛