嘿我正在研究delphi 7, 我有一个可用表格的场景, 我有两种形式
1. FormOne
2. FormTwo
FormOne有一个按钮
按钮单击
创建FormTwo var
Form2:TForm2;
begin
Form2:=TForm2.Create(nil);
Form2.ShowModal ;
Form2.Free;
end;
在 Form2 上有一个我需要禁用的按钮..(在某些情况下)..
所以激活 Form2 我这样做了
if assigned(Form2) then
begin
Form2.Button1.Enabled:=False;
end;
即我正在检查表单是否已创建然后禁用该按钮.. 因为代码在 Onactivate ,这意味着form2已经根据this创建了delphi形式liyfe cyle是
OnCreate - > OnShow - > OnActivate - > OnPaint - > OnResize - > OnPaint
..所以button1应该被禁用..但不禁用。
答案 0 :(得分:1)
我猜Form2
是按钮点击处理程序中的局部变量;在您的OnActivate
处理程序中,您正在测试定义Form2
的单元中的全局TForm2
变量;如果TForm2
不是自动处理形式,则不会分配第二个。