关于DLL调用的返回值问题

getdelphi 2003-09-16 06:46:34
我在程序中调用了一个DLL,我想知道什么时间释放了对这个DLL的调用,该怎么实现呀!
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
getdelphi 2003-09-17
  • 打赏
  • 举报
回复
procedure TForm1.MyQQ1Click(Sender: TObject);
var
qq : Tqq;
h1 : THandle;

begin
h1 := loadlibrary('pqq.dll');
if h1=0 then
raise Edllloaderror.Create('dll装入失败!');
try
@qq := getprocaddress(h1,'showqq');
if not (@qq=nil) then
qq(application.Handle,'MyQQ')
else
raise edllloaderror.Create('函数名无效');
finally
FreeLibrary(h1);
end;
end;


这是我的一个动态调用过程, 为什么当我关闭我的调用时,主窗口也随之最小化,不能保留原来的窗口模式,这是什么原因?
另外我想知道让这个调用结束时,DLL能有一个返回值,表明这个DLL已经结束.具体做法是什么?
hkbarton 2003-09-16
  • 打赏
  • 举报
回复
你要知道是什么时候调用的就使用动态调用方式:
LoadLibrary
FreeLibrary
bluebilly 2003-09-16
  • 打赏
  • 举报
回复
这分为动态调用和静态调用!
静态调用可以在任何时候调用,调用完成后即在这次操作中完成了.
动态调用需要自己释放调用所需要的内存
具体需要试试!

5,388

社区成员

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

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