访问Delphi BPL中的公共方法和属性
发布时间:2020-12-15 04:18:24 所属栏目:大数据 来源:网络整理
导读:我有一个应用程序加载一个简单形式的BPL. 此表单是主应用程序的可选选项. BPL正确加载,表单显示正确,但我不知道如何访问bpl中表单的公共方法和属性. 有谁可以提供一个简单的例子? 我的代码: // Load the BPL on aplication LoadLoadPackage( 'About.bpl' )
我有一个应用程序加载一个简单形式的BPL.
此表单是主应用程序的可选选项. BPL正确加载,表单显示正确,但我不知道如何访问bpl中表单的公共方法和属性. 有谁可以提供一个简单的例子? 我的代码: // Load the BPL on aplication Load LoadPackage( 'About.bpl' ); // CAll for TForm1 inside the About.BPL var AClass: TClass; AForm: TForm; begin AClass := GetClass('TForm1'); if AClass <> nil then begin Application.CreateForm(TComponentClass(AClass),AForm); AForm.Show; end; // The unit TForm1 inside the BPL package unit Unit1; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } PublicMthd; end; var Form1: TForm1; implementation {$R *.dfm} Procedure TForm1.PublicMthd; Begin ShowMessage('Inside call'); End; initialization RegisterClass(TForm1); finalization UnRegisterClass(TForm1); end. 如何在Tform1中访问“PublicMthd”? 解决方法
在动态加载的bpl中使用TOptionalForm的一个好处是(假设这来自“可选”位))是为了避免你的应用程序专门保存TOptionalForm类的定义(它在包中包含的单元中,只在那里).
这意味着除非您使用以下任一项,否则您的应用程序无法了解相关信息: 这是非常模糊和一般的,需要更精确的代码来改进… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |