我建了三个窗体,分别是form1,form2,form3.
form1是主窗体,上面放有一个button 代码是
uses unit2;
procedure button事件
var 
form2:tform2;
begin
form2:=tform2.create(self);
form2.showmodal;
end;
在form2上放有一个button和label
uses unit3;
button事件
var
form3:tform3;
begin
form3:=tform3.create(self);
form3.showmodal;
end;
在form3 上放一个button 
uses unit2;
button事件
form2.label.caption:='asf';
问题出在from2的label的值改不了,我不知道是什么原因请高手帮忙解决这个问题,
怎样在form3上改变form2上label的值。

解决方案 »

  1.   

    可以的,你在unit3中的implementation下面加上  uses unit2; 而不是interface下面的uses里面加unit2。这是窗体互相调用的问题
      

  2.   

    你以模式窗体显示当然改不了,把ShowModal改成Show就能改了
      

  3.   

    呵呵,自然不能改变,因为form2也是动态创建的嘛!嘻嘻.
    在form3中写:
    tform2(self.owner).conname.text:='';FOLLOW ME!
      

  4.   

    不要在事件中定义
    form2:tform2;直接用unit2中的全局变量 form2:tform2;同样适用于form3提示一下:
    事件中通常这样写
    uses unit2;
    procedure button事件
    begin
    form2:=tform2.create(self);
    form2.showmodal;
    from2.free
    end;
      

  5.   

    form1是主窗体,上面放有一个button 代码是
    uses unit2;
    procedure button事件
    begin
    form2:=tform2.create(self);
    form2.showmodal;
    form2.free;
    end;
    在form2上放有一个button和label
    uses unit3;
    button事件
    begin
    form3:=tform3.create(self);
    form3.showmodal;
    form3.free;
    end;
    在form3 上放一个button 
    uses unit2;
    button事件
    form2.label.caption:='asf';