现在有一个用vc写的标准dll,其它都没有问题,但现在我需要通过dll中的一个function读一个数据出来,这个读出来的数据dll做为一个参数返回,现在我怎么试都不成功。
如下
在VC中调用:extern __int16 __stdcall rf(char *sp,long sa,long sid,char *sfs,DWORD &srl);delphi中申明
function rf(sp:pchar;sa:longint;sid:longint;sfs:pchar;srl:DWORD):Integer;StdCall;external 'SignKey.dll';因为sfs是做为反回参数的,dll会向这个变量的地址存入读出的数据。srl也是一样,存的是数据的大小。我是这样做的,但总是报错,如果没有需要读出数据的参数那就成功能过。加上需要返回的参数就不可以了,总报地址错。哪位高手知道呀。谢谢先了
如下
在VC中调用:extern __int16 __stdcall rf(char *sp,long sa,long sid,char *sfs,DWORD &srl);delphi中申明
function rf(sp:pchar;sa:longint;sid:longint;sfs:pchar;srl:DWORD):Integer;StdCall;external 'SignKey.dll';因为sfs是做为反回参数的,dll会向这个变量的地址存入读出的数据。srl也是一样,存的是数据的大小。我是这样做的,但总是报错,如果没有需要读出数据的参数那就成功能过。加上需要返回的参数就不可以了,总报地址错。哪位高手知道呀。谢谢先了
function rf(sp:pchar;sa:longint;sid:longint;var sfs:pchar;var srl:DWORD):Integer;StdCall;external 'SignKey.dll';
我没这样用过,不知能不能行