现在手里边有一个Dll是C语言的,它提供的调用方法是:
extern ZDIGEST_API void ZSignature(unsigned char *data, long len, unsigned char *digest);
extern ZDIGEST_API bool ZSignatureVerify(unsigned char *data, long len, unsigned char *digest);
extern ZDIGEST_API bool ZSignatureFile(char *fpath, unsigned char *digest);这是三个函数,请教高手我在Delphi中如何使用?

解决方案 »

  1.   

    extern ZDIGEST_API void ZSignature(unsigned char *data, long len, unsigned char *digest);
    ZDIGEST_API 可能是 __stdcall / __cdecl吧 procedure ZSignature( data: PByte; len: int64; digest: PByte); stdcall; // or cdecl;
      

  2.   

    program Project1;{$APPTYPE CONSOLE}uses
      SysUtils;procedure Func1(data: pbyte; len: integer; digest: pbyte); cdecl; external 'dllname.dll' name '?ZSignature@@YAXPAEJ0@Z';
    function Func2(data: pbyte; len: integer; digest: pbyte):boolean; cdecl; external 'dllname.dll' name '?ZSignatureFile@@YA_NPADPAE@Z';
    function Func3(fpath: pchar; digest: pbyte): boolean; cdecl; external 'dllname.dll' name '?ZSignatureVerify@@YA_NPAEJ0@Z';begin
      Func1(nil, 0, nil);
      Func2(nil, 0, nil);
      Func3(nil, nil);
    end.