求助-根据名称调用窗口

socool627 2010-12-29 10:06:56
现有FORM1名称为TFORM1 和FORM2名称为TFORM2 两个窗口
需要在FORM1中根据FORM2的名称TFORM2 动态显示FORM2窗口

静态方法可以这样:在form1中执行
with Tform2.creat(self) do
begin
ShowModal;
end;

但是我需要动态调用,网上看到方法是这样的
FormClass:=TFormClass(GetClass('TForm2'));
CurrentForm:=TFormClass.Create(nil);
CurrentForm.ShowModal;

不知道怎么搞了,这个我老是报错,我显示Formclass.classname的时候一直是Tform而不是Tform2,小弟刚上手,请教大虾帮助

...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyf2001 2010-12-29
  • 打赏
  • 举报
回复
没有创建就使用当然报错
socool627 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 socool627 的回复:]
引用 1 楼 mysterx 的回复:
TForm(Application.FindComponent('Form2')).ShowModal ;


也是报错啊
[/Quote]

这个先要在程序开始的时候先创建form2,然后调用是可以的,但是我想在调用的时候创建,这样不行啊
socool627 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mysterx 的回复:]
TForm(Application.FindComponent('Form2')).ShowModal ;
[/Quote]

也是报错啊
keeley20 2010-12-29
  • 打赏
  • 举报
回复

FormClass:=TFormClass(GetClass('TForm2'));
CurrentForm:=TFormClass.Create(nil);
CurrentForm.ShowModal;

这里应该会报错吧 ,你获取类名的时候TForm2都没有Create
  • 打赏
  • 举报
回复
TForm(Application.FindComponent('Form2')).ShowModal ;

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧