delphi全局变量问题
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, 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;
ffff:integer; //全局变量
implementation
uses
unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ffff:=1;
unit2.Form2.ShowModal;
end;
end.
以下是unit2代码:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses
unit1;
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
if unit1.ffff=0 then
begin
edit1.Text:='0';
end
else if unit1.ffff=1 then
begin
edit1.Text:='1';
end;
end;
end.
问题是:form2的edit1总是显示0,而不是1(就是初始值).
就算在unit1中初始化了ffff,点击了form1的按钮之后,传到form2的ffff值还是初始值。