Имеются две формы Form1 и Form2. Form1 - главная. В процессе работы при клике на Button3 открывается модально Form2, в этой второй форме пользователь выбирает чекбоксы, жмет кнопку, Form2 скрывается, показывается form1, в которой обрабатываются эти данные. На первом нажатии все работает, но если нажать второй раз этот Button3, то уже вылезает ошибка "cannot make a visible window modal". Смысл ошибки я понимаю, но как исправить - не знаю.
в Form1:
procedure TForm1.Button3Click(Sender: TObject);
begin
if Edit1.Text='' then MessageDLG('Не заполнено поле "Name"',mtError,[mbOK],0)
else begin
Save:=True;
Form1.Hide;
Form2.ShowModal; //если тут делать просто Show, то получается не то что надо
end;
Save:=False;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.Hide;
Form1.Button1.Click;
Form1.Button2.Click;
Form1.Show;
end;
Не надо скрывать форму, закрывай ее:
procedure TForm1.Button3Click(Sender: TObject);, тогда не будет этой ошибки...
begin
if Edit1.Text='' then MessageDLG('Не заполнено поле "Name"',mtError,[mbOK],0)
else begin
Save:=True;
Form1.Hide;
Form2.ShowModal; //если тут делать просто Show, то получается не то что надо
Form1.Show;
end;
Save:=False;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
//Form2.Hide;
Form1.Button1.Click;
Form1.Button2.Click;
//Form1.Show;
Self.Close; // Закроет Form2
end;
procedure TForm1.Button3Click(Sender: TObject);, тогда не будет этой ошибки...
begin
if Edit1.Text='' then MessageDLG('Не заполнено поле "Name"',mtError,[mbOK],0)
else begin
Save:=True;
Form1.Hide;
Form2.ShowModal; //если тут делать просто Show, то получается не то что надо
Form1.Show;
end;
Save:=False;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
//Form2.Hide;
Form1.Button1.Click;
Form1.Button2.Click;
//Form1.Show;
Self.Close; // Закроет Form2
end;