假如:我知道一个form的名字是‘form1'(它对应的类是‘Tform1'),
通常的创建窗体的的方法是:form1:=Tform1.create(AOwner);
或:AOwner.CreateForm(Tform1, Form1); 现在我的form的类及其名字都是放在string变量中,
该怎么办呢,或者有别的什么方法吗?
通常的创建窗体的的方法是:form1:=Tform1.create(AOwner);
或:AOwner.CreateForm(Tform1, Form1); 现在我的form的类及其名字都是放在string变量中,
该怎么办呢,或者有别的什么方法吗?
解决方案 »
- HELP ADO连接EXCLE的问题 急死人了 。。。。。。。。。。。。。。解决了 马上给分 嫌少再加
- 急求操作dbf文件代码
- 发贴一问并庆祝戴上一个星罩:webbrowser里activex输入框赋值
- 关于数据更新的问题,请高手指教!
- 有没有类似delphi函数参数array of const的声明
- 请问如果在memo1内查找所需要的字串。
- 寻找控件(类似于DELPHI的代码编辑框)
- 一个数据库,2套系统,功能相同只是一套局内访问,类似CS架构,还有一套可以让internet上的同事操作,应该如何。。。。。。
- 用query查询,如何只显示刚刚才创建的那条记录,怎么实现?
- 如何通过按钮让一个窗体显示在最上面
- Delphi+Sql server 重要一问题,谢谢
- 请问用Delphi可以开发出触摸屏的产品吗?如何开发???
虽然Delphi提供了RTTI能间接的实现你的要求,但是还是建议你换一个思路。
initialization
RegisterClass(TForm2);
finalization
UnRegisterClass(TForm2);
调用示例如下
var
PackageModule: HModule;
AClass: TPersistentClass;
begin
PackageModule := LoadPackage('Package1.bpl');
if PackageModule <> 0 then
begin
AClass := GetClass('TForm2'); // create inherited class
if AClass <> nil then
with TComponentClass(AClass).Create(Application)
as TForm do // type as base class
begin
ShowModal;
Free;
end;
UnloadPackage(PackageModule);
end;
end;
官方相关资料:http://www.mdata.gr/MDataNews/DeveloperTips/advanceddynamicpackages.htm
附件中是完整的示例代码。
该怎么办呢,或者有别的什么方法吗?你的类如果有多个,可以用一个TList来保存起来。
如果只有一个,为什么要用字符串保存呢。设计有问题
linzhengqun(风。愿我能) ( ) 信