#modal-dialog #lazarus
#модальный диалог #lazarus
Вопрос:
У меня есть две формы в Lazarus. один — frmMain, а другой — frmSub1. оба имеют текстовое поле.
Работает следующий код. т.е. При нажатии кнопки на frmMain значение
procedure TfrmMain.cmdShowClick(Sender: TObject);
begin
frmSub1.Show ;
frmSub1.txtAns.text := txtMark.Text;
end;
Но когда я заменяю.Показать с помощью .ShowModal, он показывает форму, но frmSub1.txtAns пуст.
Есть идеи, почему это так?
Ответ №1:
Это потому ShowModal
, что блокирует вызов, т.Е. Строка frmSub1.txtAns.text := txtMark.Text;
не будет выполняться, пока не вернется. Вы должны изменить порядок операторов, следующий должен работать так, как вы ожидаете:
procedure TfrmMain.cmdShowClick(Sender: TObject);
begin
frmSub1.txtAns.text := txtMark.Text;
frmSub1.ShowModal;
end;