关于Delphi调用C语言的Dll的问题

fantast79 2005-11-07 05:26:28
现在手里边有一个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中如何使用?
...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
clasj 2005-11-07
  • 打赏
  • 举报
回复
你可以先用我给你的代码测试一下!
clasj 2005-11-07
  • 打赏
  • 举报
回复
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.
beyondtkl 2005-11-07
  • 打赏
  • 举报
回复
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;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧