我在程序中调用了一个DLL,我想知道什么时间释放了对这个DLL的调用,该怎么实现呀!

解决方案 »

  1.   

    你要知道是什么时候调用的就使用动态调用方式:
    LoadLibrary
    FreeLibrary
      

  2.   

    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已经结束.具体做法是什么?