DLL文件中Form的使用

王朝delphi·作者佚名  2006-01-08
宽屏版  字体: |||超大  

主题:DLL文件中Form的使用(2)

贴出此文之前,未查阅过任何相似文章,如有相同,敬请见谅,并告示(注:本人曾就同一DLL中一窗体调用附窗体,如何实现之问题,请教过一前辈,但前辈笑笑未言),此为我在写动态元件时想到的一方法,结果通过,各位见谅。我为初学,而求学路见艰难,贴出只望对象我一样初学者给点帮助,无他。

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);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有