我是这样写的
procedure createform (out aForm:TForm; FormClass:TClass);
begin
aForm:=TForm(FormClass.create);
end;
调用如下:
createform(form1, TForm1);
但是调试的时候总是通不过
请问正确的应该怎么写?
procedure createform (out aForm:TForm; FormClass:TClass);
begin
aForm:=TForm(FormClass.create);
end;
调用如下:
createform(form1, TForm1);
但是调试的时候总是通不过
请问正确的应该怎么写?
解决方案 »
- 求大神救 [Error] Unit2.pas(1160): Incompatible types: 'String' and 'Integer'
- 给excel指定区域画线,如果excel不只一页,每页底下就没有边框?
- 求两控件:一个文本框一个表格
- 两个问题!
- Delphi 7 中Rave 报表的问题——————在线等待!!!急急急急急急急!!!!!!
- 数据提交不了 急需大家的帮助!!
- 本人发的一个小项目 http://prj.csdn.net/projdetail.aspx?pointid=7134
- 存储过程使用心得
- 我发的帖子找不到了,大家在帮帮我!
- delphi 里面有没有类型判别函数
- 谁能告诉我一个delphi6的下载地址,我用http下载如果好用马上给分。在线等待!
- 寻找网络编程高手:端口映射问题
begin
aForm:=TForm.create(Aform);
end;
begin
aForm:=FormClass.Create(Self);
aForm.Parent := Self;
aForm.Show;
end;
Application.createform(Tform1,form1);
Form1.showmodal;
except
Form1.free;
Form1:=nil;
end;
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
我的目的是用第二个参数所指明的“类”来创建一个form(就是第一个参数)to:slyse(slyse)
我就是你这样写的!
但是调用的时候不能通过,错误是“实参与形参类型不一致!”
如下:createform(form1, TForm1);
其中TForm1是不同于TForm的派生类。请各位高手继续指教!
谢谢!
你想利用这个函数创建TForm1的窗体,
看你的函数定义procedure createform (out aForm:TForm; FormClass:TClass);
这里你的形参FormClass是Tclass类的,你给的实参是Tform1的;而out是Tform的,你又传了一个Tform1的实参,然编译不通过了。
----------------------------------------------
riff ur life
那你认为应该怎样定义呢?
riff ur life
Application.CreateForm(TForm1, Form1);
这我是Delphi的函数,不可以吗?
var
AForm: TForm;
begin
try
Application.CreateForm(MDIChildFormClass,Reference);
AForm := TForm(Reference);
AForm.ShowModal;
Except
//...
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
ChildForm: TForm;
begin
CreateForm(TForm2, ChildForm);
end;
TFormClass = class of TForm;procedure CreateForm(AClass: TFormClass; out AForm: TForm);
begin
AForm := AClass.Create(Application);
end;procedure CreateForm(AClass: TClass; out AForm: TForm);
begin
AForm := TFormClass(AClass).Create(Application);
end;procedure CreateForm(AClass: TClass; out AForm: TComponent);
begin
//TComponentClass 已经在Classes.pas定义
AForm := TComponentClass(AClass).Create(Application);
end;