delphi.Onactive button disble confusion for a available form

时间:2011-12-29 09:43:28

标签: forms delphi delphi-7

嘿我正在研究delphi 7, 我有一个可用表格的场景, 我有两种形式

  1. FormOne 
  2. FormTwo

FormOne有一个按钮

enter image description here

按钮单击

创建FormTwo
    var
     Form2:TForm2;
      begin
       Form2:=TForm2.Create(nil);
       Form2.ShowModal ;
        Form2.Free;
     end;

Form2 上有一个我需要禁用的按钮..(在某些情况下).. enter image description here

所以激活 Form2 我这样做了

       if assigned(Form2) then
        begin
         Form2.Button1.Enabled:=False;
        end;

即我正在检查表单是否已创建然后禁用该按钮.. 因为代码在 Onactivate ,这意味着form2已经根据this创建了delphi形式liyfe cyle是

  

OnCreate - > OnShow - > OnActivate - > OnPaint - > OnResize - > OnPaint

..所以button1应该被禁用..但禁用。

enter image description here

1 个答案:

答案 0 :(得分:1)

我猜Form2是按钮点击处理程序中的局部变量;在您的OnActivate处理程序中,您正在测试定义Form2的单元中的全局TForm2变量;如果TForm2不是自动处理形式,则不会分配第二个。