delphi..неактивная кнопка отключить путаницу для доступной формы

Эй, я работаю над 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, то есть форма2 уже создана в соответствии с этим, delphi form liyfe cyle

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

... так что кнопка 1 должна быть отключена... но она НЕ отключена.

1 ответ

Решение

Похоже Form2 является локальной переменной в вашем обработчике нажатий кнопок; в вашем OnActivate Обработчик ваш тестирует глобальный Form2 переменная из единицы, где TForm2 определено; второй не назначается, если TForm2 не является автоматически созданной формой.

Другие вопросы по тегам