发新话题
打印

DLL文件中Form的使用

DLL文件中Form的使用

library DLLPJ;

uses
SysUtils,
Classes,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};

{$r *.res}

exports
ShowMainPRGWin;

begin
end.
----------
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Unit2,Dialogs, StdCtrls;
//1.附窗体单元加在此处
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Form2: TForm2; //2.附窗体定义在此处
// Declare the export function of windows of the main DLL
function ShowMainPRGWin(AHandle:THandle):BOOL;StdCall;

implementation

{$r *.dfm}
function ShowMainPRGWin(AHandle:THandle):BOOL;
begin
Form1:=TForm1.Create(Application);
Form2:=TForm2.Create(Application); //3.创建附窗体
try
Form1.ShowModal;
Result:=False;
Finally
Form1.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;//4.在主窗体上调用附窗体
end;

end.
------------
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$r *.dfm}

end.
----------
//在其他窗体上调用DLL的定义及方法
procedure ShowMainPRGWin(AHandle:THandle);StdCall External 'DLLPJ.DLL';

showmainprgwin(1);

“自然界喜欢简单化,从来不用什么多余的原因来夸耀自己,简单一点就行,多做却是无用。”                                                     - 牛顿《自然哲学的数学原理》

TOP

恋爱吧

提示: 作者被禁止或删除 内容自动屏蔽

TOP

最有潜力的五个代孕网站

提示: 作者被禁止或删除 内容自动屏蔽

TOP

快国庆了大家怎么安排

提示: 作者被禁止或删除 内容自动屏蔽

TOP

发新话题