极为奇怪的问题,我在新窗体中用button作试验让infofrm.caption='OK'都不会成功……哪位救救命……主窗体调用新窗体
procedure TMainFrm.AddClick(Sender: TObject);
var
InfoFrm: TInfoFrm;
begin
InfoFrm:=TInfoFrm.Create(self);
InfoFrm.setInfo(ikModify); InfoFrm.Show;
end;新窗体代码:
unit InfoUnit;interface……type
TInfo = (ikAdd, ikModify);
TInfoFrm = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private public
function getInfo: TInfo;
procedure setInfo(InfoTemp: TInfo);
end;var
InfoFrm: TInfoFrm;
Info: TInfo = ikAdd;implementation{$R *.dfm}function TInfoFrm.getInfo: TInfo;
begin
result:=Info;
end;procedure TInfoFrm.setInfo(InfoTemp: TInfo);
begin
Info:=InfoTemp;
case Info of
ikAdd: begin
InfoFrm.Caption:='登记';
end;
ikModify: begin
InfoFrm.Caption:='修改';
end;
end;
end;procedure TInfoFrm.Button1Click(Sender: TObject);
begin
InfoFrm.Caption:='OK';//这都无法成功……
end;end.
procedure TMainFrm.AddClick(Sender: TObject);
var
InfoFrm: TInfoFrm;
begin
InfoFrm:=TInfoFrm.Create(self);
InfoFrm.setInfo(ikModify); InfoFrm.Show;
end;新窗体代码:
unit InfoUnit;interface……type
TInfo = (ikAdd, ikModify);
TInfoFrm = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private public
function getInfo: TInfo;
procedure setInfo(InfoTemp: TInfo);
end;var
InfoFrm: TInfoFrm;
Info: TInfo = ikAdd;implementation{$R *.dfm}function TInfoFrm.getInfo: TInfo;
begin
result:=Info;
end;procedure TInfoFrm.setInfo(InfoTemp: TInfo);
begin
Info:=InfoTemp;
case Info of
ikAdd: begin
InfoFrm.Caption:='登记';
end;
ikModify: begin
InfoFrm.Caption:='修改';
end;
end;
end;procedure TInfoFrm.Button1Click(Sender: TObject);
begin
InfoFrm.Caption:='OK';//这都无法成功……
end;end.
改为self.Caption:='OK'这与你声明的局部变量与全局变量有关