• 主页
  • 招聘
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
Sunblog 2005年03月21日
关于DLL和主程序里面的全局变量问题。
procedure Secret16Encrypt(lpInBuffer:PChar; lpKey:PChar);
var
Secret16Encrypt: function(lpInBuffer:PChar; lpKey:PChar; lpOutBuffer:PChar): Boolean; stdcall;
OutputStr: array [0..16] of Char;
begin
FillChar(OutputStr, Sizeof(OutputStr), #0);
Initialize;
if hlib <> 0 then begin
@Secret16Encrypt := GetProcAddress(hlib, 'Secret16Encrypt');
if @Secret16Encrypt <> nil then begin
if Secret16Encrypt(lpInBuffer, lpKey, OutputStr) then
Return := OutputStr
else
Return := '函数调用错误!'
end
else
ShowMessage('加载功能模块出错!');

FreeLibrary(hlib);
end
else
ShowMessage('无法加载DLL!');
end;

上面这段代码是我从人家的一个DEMO里面拷贝出来的,它功能是就是输入一个字符串和一个Key然后得到加密结果,但是它没有通过函数返回加果,而是通过函数参数返回结果,lpOutBuffer就是返回结果,这样的效果应该在DLL怎么定义呢?
不用VAR应该怎么实现?
...全文
106 点赞 收藏 7
写回复
7 条回复

还没有回复,快来抢沙发~

发动态
发帖子
Delphi
创建于2007-08-02

1448

社区成员

26.2w+

社区内容

Delphi 开发及应用
社区公告
暂无公告