delphi动态调用dll窗体

来源:互联网 发布:网络霸凌 社交平台 编辑:程序博客网 时间:2024/05/16 02:35
//声明TShowForm=Function (AHandle:THandle;ACaption:Pchar):Boolean;Stdcall;//调用procedure TForm1.N5Click(Sender: TObject);    var mainfrm,DllForm:THandle;          ShowForm:TShowForm; begin      mainfrm:=Form1.Handle;      DllForm:=LoadLibrary('JSJ.dll');     Try     begin         if DllForm<>0 then          begin            @ShowForm:=GetProcAddress(DllForm,'ShowForm');            ShowForm(mainfrm,'进售价');         end         else         begin             RaiseLastWin32Error;         end;    end;    Finally        FreeLibrary(DllForm);    end; end;//dll动态链接库Function ShowForm(AHandle:THandle;ACaption:Pchar):Boolean;StdCall;      var AForm:TForm1; begin      Result:=False;      Application.Handle:=AHandle;      AForm:=TForm1.Create(Application);      Try          Aform.Caption:=ACaption;          AForm.ShowModal;          Result:=True;      Finally          AForm.Free;     end; end; Exports      ShowForm; begin end.