2010-01-16 18:49:33 来自:wenxia 浏览数:91次 |
myd2009回复于16日19点01分 用最简单,最直接的代码实现自己想要的功能才是最重要的。。。 |
周一晚上回复于16日19点14分 那你不会在建FORM3时传指针吖 |
有个快乐女儿回复于16日19点28分 找到最简单的解决办法了。。。。在每个窗体的建体时执行一下窗体名:=self. 例如: procedure TForm_Apply_Money_To_OA.FormCreate(Sender: TObject); begin Form_Apply_Money_To_OA:=Self; end; 这样之后,就没有任何问题了。。。 |
littlestar回复于16日19点42分 真有创意。。。。直接换成self就行了 |
绿光宝贝回复于16日19点54分 上面的人不是解释原因了? 你的form2根本没有指向TForm2的实例 你可以定义一个基类窗,里面定义一个虚方法 procedure AssignObject(aObj : TObject); virtual; 子类窗 override AssignObject begin 子类窗变量:= aObj; end; 然后创建时: procedure TForm1.ClickOpenForm(formname:string); 自定义的用字符串打开form的过程 var myformclass:TMyFormClass; aform:TForm; begin myformclass:=TMyFormClass(FindClass(formname)); aform:=Tform(TMyFormClass(FindClass(formname))); if GetClass(TMyFormClass.ClassName) <>nil then begin aform:=myformclass.Create(Application); aform.AssignObject(aForm) try aform.ShowModal; finally aform.Free; end; end; end; |
刘杰瑞回复于16日22点35分 if Assigned(Form2) then Form2.Edit1.Text:='hello'; 这样你就知道了,你没实例,怎么去操作.. |
联系客服