用d写的一个dll函数,参数有4个,integer,double,pchar,pchar,最后一个参数必须是传址的,因为要返回东西,现在在d中调用测试成功,但在vba中测试如果参数不定义成ByVal或调用使用变量时结果就是乱码,数值也错误.我要怎么调用才行啊,如果要改dll该怎么改?
function f_Trade(FType:Integer;FCode:PChar;sInMsg:PChar;sOutMsg:PChar):Integer;stdcall;export;
function f_Trade(FType:Integer;FCode:PChar;sInMsg:PChar;sOutMsg:PChar):Integer;stdcall;export;
例如:
function f_Trade(var param1:Integer;var param2:Double;param3:PChar;param4:PChar):Integer;stdcall;export;
以前也遇到类似情况,只好写两个接口,一个供delphi调用,一个供VB调用。