我有一个窗口(TMyForm)可以被其他的窗口多次调用,例如:  
 
form1中  
var  
   myForm:  TMyForm;  
begin  
   myForm:=TMyForm.Create(Self);  
   ...  
end;  
 
form2中  
var  
   myForm:  TMyForm;  
begin  
   myForm:=TMyForm.Create(Self);  
   ...  
end;  
 
form1,form2中都有相同的字段制myField:  
 
public  
{  Public  declarations  }  
   ...  
   myField:  TMyType;  
   ...  现在想通过Owner属性访问调用窗口的myField,但因为窗口类型不确定,不知该用什么方法。

解决方案 »

  1.   

    只好加个判断了
    如:
    if TForm(Owner) is TForm1 then 
    begin 
      ..........//  对(TForm1(Owner).myField)操作;
    end;
    if TForm(Owner) is TForm2 then 
    begin 
      ..........//  对(TForm2(Owner).myField)操作;
    end;
      

  2.   

    我想一定有办法的,因为Owner.FieldAddress('myField')返回该字段的地址,但我不知该怎么通过地址给字段值赋值
      

  3.   

    在MyForm中用 TForm(Owner).myField 访问myField就行;
    如果要知道Owner是那个,用 TForm(Owner).name属性。
      

  4.   

    变量名是不能重复的怎么可能定义两个myForm:  TMyForm
      

  5.   

    同意GreenWaterBlueSky(碧水蓝天)的。