unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementationuses Unit2;{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
form2:tform;
begin
form2:=tform2.create(self);
form2.show;
end;end.
unit Unit2;interfaceuses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form2: TForm2;implementationuses Unit1;{$R *.DFM}procedure TForm2.Button1Click(Sender: TObject);
begin
form1.caption:='asdf';
end;end.

解决方案 »

  1.   

    你这个form2也是动态的由form1创建的,还是什么,form2:=tform2.create(self)这句话什么意思?
      

  2.   

    你既然使用上面的(uses unit1,uses unit2)互相调用的方法,就尽量不要动态创建form2.
    你上面定义的form2:tform,这是一个局部变量,作用域不能延伸到form2上,将其改成全局变量试试。
      

  3.   

    从这个代码看,应该是没有问题的。
    加一个看看
    form1.Update;
      

  4.   

    我试过,没问题。你的form2定义在什么地方?
    还有uses关系是否正确?
      

  5.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,...,Unit2,
      StdCtrls;type
    ...
    procedure TForm1.Button1Click(Sender: TObject);
    var
      form2 : Tform2;
    begin
      form2 := Tform2.Create(Application);
      Form2.Show;
    end;===
    Unit Unit2;
    ...
    var
      Form2: TForm2;implementation
    uses
      Unit1;{$R *.DFM}procedure TForm2.Button1Click(Sender: TObject);
    begin
      Form1.Caption :='应该就是它';
    end;
      

  6.   

    实际上已经执行了代码,
    我用edit1.text:=form1.caption测试确实变成了asdf,
    但窗体上的caption表面上看上去还没变
      

  7.   

    实际上已经执行了代码,
    我用edit1.text:=form1.caption测试确实变成了asdf,
    但窗体上的caption表面上看上去还没变
    好像是没有刷新一样
      

  8.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,Unit2,
      StdCtrls
    ....implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    var
      form2 :Tform2;
    begin
      Form2:=TForm2.Create(application);
      Form2.showmodal;
    end;
    ===Unit2
    ...var
      Form2: TForm2;implementation
    uses
     Unit1;{$R *.DFM}procedure TForm2.Button1Click(Sender: TObject);
    begin
      form1.Caption :='Form2.Showmodal';
    end;end.
      

  9.   

    to: ihihonline(小小->充电中……)
    你贴这些无用的代码作什么,我看不出有什么不同之处
    我的问题怎么如何解决