首页 Delphi 正文
  • 本文约1792字,阅读需9分钟
  • 1908
  • 0
举报该广告
DELPHI 调用DLL文件中FORM的调用[2]

DELPHI 调用DLL文件中FORM的调用[2]

摘要

主程序:

unit Unit1;

interface

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs,  ...

主程序:

unit Unit1;

interface

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs,  Vcl.Menus,Vcl.StdCtrls, cxButtons, cxPC, Vcl.ExtCtrls,Vcl.ComCtrls;



  const WM_MYMESSAGE=WM_USER+1;

type

  TCallBaseForm=procedure(ParentApp:TApplication;THandle:HWND);

  Tmainfrm = class(TForm)

    Panel1: TPanel;

    cxButton1: TcxButton;

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    procedure cxButton1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  mainfrm: Tmainfrm;



implementation



{$R *.dfm}



procedure Tmainfrm.cxButton1Click(Sender: TObject);

var

  FCallBack:TCallBaseForm;

  DllHandle:THandle;

begin

  DllHandle:=LoadLibrary('TestDll.dll');

  if DllHandle<>0 then

   begin

    @FCallBack:=GetProcAddress(DllHandle,'CallTestForm');

    if Assigned(FCallBack) then

    begin

    FCallBack(Application,Handle);

    end;

   end;

end;

end.

Dll 文件

unit Frmdll;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,  ImgList, ActnList, ComCtrls, ToolWin, StdCtrls, cxButtons,Unit2;

type
  TDllfrm = class(TForm)
    cxButton1: TcxButton;
  private
    { Private declarations }
    TabID: Integer;
  public
    { Public declarations }
  end;
  procedure CallTestForm(ParnentApp:TApplication;FHandle:HWND);

var
  Dllfrm: TDllfrm;

implementation

{$R *.dfm}

procedure CallTestForm(ParnentApp:TApplication);
begin
  Application:=ParnentApp;
  Dllfrm:=TDllfrm.Create(Application);
  Dllfrm.TabID:=FHandle;
  Dllfrm.Show;
end;

end.

运行效果图:

DELPHI 调用DLL文件中FORM的调用[2]



📱 扫码关注公众号

公众号二维码

扫描二维码关注我们,获取更多精彩内容
实时更新 · 干货满满

收藏

扫描二维码,在手机上阅读
评论
更换验证码
友情链接