我有多个窗体,同继承于Tform
Tform1=class(TForm)
Tform2=class(TForm)
Tform3class(TForm)
Tform4class(TForm)
.....能不能做一个函数,传递窗体的类名(如TForm1),通过类名创建这些窗体的实例?
function CreateForm(...);
Tform1=class(TForm)
Tform2=class(TForm)
Tform3class(TForm)
Tform4class(TForm)
.....能不能做一个函数,传递窗体的类名(如TForm1),通过类名创建这些窗体的实例?
function CreateForm(...);
解决方案 »
- ◆有谁能解决,fastreport套打问题◆
- 有关external exception c0000008的闹心问题 着急 项目明天到期 在线等
- 这里为什么要用个类呢?一个初学者的问答!
- 编译程序提示[Fatal Error] Required package 'RxCtl6' not found
- www.daliancomputer.com大量技术文章、二手市场、论坛,欢迎大连的朋友进入!
- 高分求一段小程序
- 为什么删除ACCESS表中记录会出现不完全删除情况
- 怎样编程实现对access数据库文件的加密???
- 如何提高效率!
- delphi4下的FORM如何在DELPHI4下打开
- 如何用PostMessage发个消息使窗体中一个按钮变为可用或者不可用?
- 数据库操作与面向对象程序设计的矛盾
var
PackageModule: HModule;
AClass: TPersistentClass;
begin
PackageModule := LoadPackage('Package1.bpl');
if PackageModule <> 0 then
begin
AClass := GetClass('TForm2'); if AClass <> nil then
with TComponentClass(AClass).Create(Application)
as TCustomForm do
begin
ShowModal;
Free;
end; UnloadPackage(PackageModule);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
PackageModule: HModule;
AClass: TPersistentClass;
begin
PackageModule := LoadPackage('Package1.bpl');
if PackageModule <> 0 then
begin
AClass := GetClass('TForm2'); if AClass <> nil then
with TComponentClass(AClass).Create(Application)
as TCustomForm do
begin
ShowModal;
Free;
end; UnloadPackage(PackageModule);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
PackageModule: HModule;
AClass: TPersistentClass;
begin
PackageModule := LoadPackage('Package1.bpl');
if PackageModule <> 0 then
begin
AClass := GetClass('TForm2'); if AClass <> nil then
with TComponentClass(AClass).Create(Application)
as TCustomForm do
begin
ShowModal;
Free;
end; UnloadPackage(PackageModule);
end;
end;
http://community.borland.com/article/0,1410,27178,00.html