delphi 全局变量在其它单元中引用时无值!!?
如题,我在unit1中implement之前定义了一个全局变量ss:string,并在unit1的函数中给ss赋值了!在unit2中正确的位置用了usesunit1,可是...
如题,我在unit1中implement之前定义了一个全局变量ss:string,并在unit1的函数中给ss赋值了!
在unit2中正确的位置用了uses unit1,可是unit2下面的函数用ss时,发现ss为空,放个edit,想把ss的数值显示出来为空!!
可是如果我在unit1中声明ss全局变量时同时给它赋初始值,在unit2中引用时得到的是ss的初始值。所以认为unit1下的函数对ss赋值不成功,可是我都正确赋值了,怎么还不行啊!!
拿到还有哪些要注意的!求救啊!大神!
这是u1
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;
ss:string;
implementation
uses unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ss:='abc';
form2.ShowModal;
end;
end.
------------------------------------------------------------------
这是unit2
unit Unit2;
interface
uses
这里的和unit1相同,字数限制
implementation
uses unit1;
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
edit1.Text :=unit1.ss;
end;
end. 展开
在unit2中正确的位置用了uses unit1,可是unit2下面的函数用ss时,发现ss为空,放个edit,想把ss的数值显示出来为空!!
可是如果我在unit1中声明ss全局变量时同时给它赋初始值,在unit2中引用时得到的是ss的初始值。所以认为unit1下的函数对ss赋值不成功,可是我都正确赋值了,怎么还不行啊!!
拿到还有哪些要注意的!求救啊!大神!
这是u1
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;
ss:string;
implementation
uses unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ss:='abc';
form2.ShowModal;
end;
end.
------------------------------------------------------------------
这是unit2
unit Unit2;
interface
uses
这里的和unit1相同,字数限制
implementation
uses unit1;
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
edit1.Text :=unit1.ss;
end;
end. 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询