DLL文件中Form的使用
贴出此文之前,未查阅过任何相似文章,如有相同,敬请见谅,并告示(注:本人曾就同一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);
作者Blog:http://blog.csdn.net/dgc/
- 最新文章
- 显示密码编辑框中的密码[01-04]
- 泛型编程在非C 语言中的实现之探讨[01-04]
- DELPHI下的多线程程序设计(1)[01-04]
- DELPHI下的多线程程序设计(2)[01-04]
- DLL文件在Delphi的创建及调用[01-04]
- delphi函数参考手册[01-04]
- 相关文章
- 用Delphi实现风Word97风格的工具栏[01-04]
- 走近Inprise/Borland[01-04]
- Form产生时的事件次序;[01-04]
- 创建Borland风格的漂浮式窗口[01-04]
- Borland与Microsoft关于Delphi的对话[01-04]
- Oracle发布10g试验版本 扩大对Mac OS X支持[01-04]
