VB调用dll(vc)出错,急,在线等!!
vc中函数声明如下:
word _stdcall rcdes(byte* desobject,word objectlen,byte* desresult,bool desdo)
vb中这样写的:
private declare function rcdesa lib "d:\desapp.dll" alias "rcdes" (str as long, strlength as long, result as long, byval flag as boolean) as long
error:‘内存不能written
请问是那里错了?
推荐阅读
指针或者数组好象都要使用byval修饰,以前有位师兄好象这么说过,你用long来传地址肯定不成的。
沒有分配內存吧.
傳遞的str和result先要分配內存.
private declare rcdesa lib "desapp.dll" (desobject as byte, byval objectlen as inteter, desresult as byte , byval desno as long) as long
vb中调用api数组要使用第一个数组元素做传地址方式传入!!!
确定api是
extern "c" word _stdcall rcdes(byte* desobject,word objectlen,byte* desresult,bool desdo)
并使用了def文件吗?


讨论区