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.
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.
你上面定义的form2:tform,这是一个局部变量,作用域不能延伸到form2上,将其改成全局变量试试。
加一个看看
form1.Update;
还有uses关系是否正确?
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;
我用edit1.text:=form1.caption测试确实变成了asdf,
但窗体上的caption表面上看上去还没变
我用edit1.text:=form1.caption测试确实变成了asdf,
但窗体上的caption表面上看上去还没变
好像是没有刷新一样
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.
你贴这些无用的代码作什么,我看不出有什么不同之处
我的问题怎么如何解决