Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Разница между ModalResult формы и кнопки


Автор: Aleks26 1.4.2010, 20:22
В учебнике сказано, что свойство ModalResult для кнопки на форме, отличное от mrNone, при нажатии на кнопку заносится в свойство ModalResult формы и в результате модальная форма закрывается. У меня есть следующий обработчик события:

procedure TfrmListComp2.btnFrm2ToFrm1Click(Sender: TObject);
begin
  btnFrm2ToFrm1.ModalResult:=mrCancel;
 frmListComp1.Show;
end;

Но при первом прохождении через него ModalResult для формы frmListComp2 остается нулевым и форма не закрывается. Только при попытке вновь на нее перейти, получив предупреждение о видимой модальной форме, нажав OK, я при следующем нажатии на btnFrm2ToFrm1 это свойство уже равно 2 и модальная форма закрывается без проблем. Значит, ModalResult для кнопки передается в одноименное свойство формы не сразу, а только при втором обращении?
Потому что, присваивая mrCancel сразу в свойство формы, она закрывается сразу.  smile 

Автор: Frees 1.4.2010, 20:27
потомучто при первом нажатии у кнопки ModalResult mrNone - форма не закрылась при клике втрой раз она уже mrCancel и форма закрылаь.
что не так 
ModalResult из кнопки в форму передается при ее нажатии событие клика вызывается после этого смотри исходники там все ответы есть

Автор: Grag 2.4.2010, 08:38
При проектировании нужно сразу определять чему будет равно свойство кнопки ModalResult, а в вызывающей форме определять уже возвращаемый результат при закрытии модального окна...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)