我有一个form2,里面已经有很多控件RichEdit,button之类的控件.
而我现在定义了一个
newform: array[0..99] of TForm;
在另外一个窗体Mainform中,我单击mainform中的button,动态创建一个newform[i]
...
newform[i]:=TForm2.Create(form2.Owner);
...
newform[i].show; 我运行的时候可以得到一个和Form2一样的窗体,现在问题是我想在Mainform中直接用newform操纵richedit,button之类的控件,我是这样写的newform[i].richedit1,可是不行,我不能操众richedit.这是为什么,richedit1是FORM2中的控件呀,而newform是TForm2.Create的呀,那我要怎么做才能用newform[i]操纵richedit1呢?
而我现在定义了一个
newform: array[0..99] of TForm;
在另外一个窗体Mainform中,我单击mainform中的button,动态创建一个newform[i]
...
newform[i]:=TForm2.Create(form2.Owner);
...
newform[i].show; 我运行的时候可以得到一个和Form2一样的窗体,现在问题是我想在Mainform中直接用newform操纵richedit,button之类的控件,我是这样写的newform[i].richedit1,可是不行,我不能操众richedit.这是为什么,richedit1是FORM2中的控件呀,而newform是TForm2.Create的呀,那我要怎么做才能用newform[i]操纵richedit1呢?
解决方案 »
- DELPHI大批量数据按数据库小批量数据排列
- idhttp难道有问题吗????简单的get就出错啊,高手进,在线急等!!
- 我写的最菜鸟的一个动态链接函数,不懂怎么调用(动态或静态),哪位帮帮忙?
- 请教:关于Delphi调用其他程序 急啊!在线等,请高手指点!
- 问一个极其简单的报表问题~马上给分~
- 胃胀气~~·#¥¥#%……#¥……——*(#散分!!`
- 关于将windows media player控件加入到ocx中并发布到WEB上的问题(经典)
- delphi7 编写的程序访问SQL2008时的怪问题
- 如何在程序中创建一个FOXBASE格式的数据表(DBF格式),并往里写数据?
- 老狼:祝假日愉快!我是老刺
- 高手请进!如何用自己的程序替换WINDOWS98的开始菜单!
- *.qrp格式的报表要转换成pdf或者其他格式,有现成的工具没有,
newform: array[0..99] of TForm2; 即可。楼主无事时,可以思考一下 TForm2, TForm, newForm之间到底是个什么关系。
newform: array[0..99] of TForm; // 定义不变使用时可以这样:if (newForm[i] is TForm2) then
begin
(TForm2(newForm[i])).xxxxx
end;这里要说明一下:
上面的类型转换并非“强制”的,而是“软”的,可能返回 nil,所以先检查了一下newForm[i] 是不是TForm2类的实例(在你的程序里,当然是,可以不检查)。可以说,这里的转换与C++里的dynamic_cast是一样的。
newform: array[0..99] of TForm2;
newform[i]:=TForm2.Create(Nil);
newform[i].show;