hur.cn - 华软网

 热门搜索

DLL参数问题?

  作者:未知    来源:网络    更新时间:2018/6/13
大哥:
我用vc++编写了一个DLL,其中有几个函数(一个无参数,其他有参数):
extern "C" __declspec(dllexport) long f1() 
extern "C" __declspec(dllexport) long f2(long mx,long my)
extern "C" __declspec(dllexport) long f3(string mx,string my)
extern "C" __declspec(dllexport) long f4(char *mx,char *my)

在pb6.5声明:
Function long f1() LIBRARY "E:\mydll\mydll.dll"
Function Long f2(long mx, long my) LIBRARY "E:\mydll\mydll.dll"
Function Long f3(string mx, string my) LIBRARY "E:\mydll\mydll.dll"
Function Long f4(blob mx, blob my) LIBRARY "E:\mydll\mydll.dll"

调用时,只有f1正确
其他有参数的都不正确,出错: 内存read错误!

怎样才能将参数传入去????



谢谢!!!!!

------华软网友回答------
搞搞下,错误信息被PB的systemerror事件捕获
信息为:
Specified argument type differs from requirred argument type at runtime in DLL function f3.(invalid stack pointer on return from function call)

帮忙!!!
------华软网友回复------
我也遇到这个出错信息,真是彷徨,一起关注……
------华软网友回复------
pb 没有指针类,只支持值参调用。用形参的话,加ref
------华软网友回复------
怀疑dll有错,
用softice调试一下就清楚了

------华软网友回复------
microsoft--------------pb
 
Char*                            Ref    String     

或者

Lpstr,Lpcstr                     Ref    String      


一般不要用string 声明
------华软网友回复------
学习!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。