Форум: "Основная";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
ВнизСтранная ситуация при showmodal Найти похожие ветки
← →
novill (2003-05-29 09:25) [0]Матера, помогите! Не могу понять, что происходит.
Главная форма приложения вызывает другую форму(bsDialog), при этом главная должна блокироваться, - вызываю по showmodal, вторая форма вызывает третью форму (предварительный просмотр QuickReport). После закрытия третьей формы вторую невозможно закрыть никак.
Как это обойти?
← →
Skier (2003-05-29 09:30) [1]Код.
← →
Goffman (2003-05-29 09:37) [2]Может третья форма у тебя просто прячется (Visible=False). Тогда действиетельно каюк. А иначе согласен со Skier
← →
novill (2003-05-29 09:59) [3]Mainunit
procedure TMainForm.N1_1Click(Sender: TObject);
begin
Form16003.Show;
end;
Unit16003
procedure TForm16003.BitBtnPrintClick(Sender: TObject);
begin
List16003.QuickRep1.Preview;
end;
procedure TList16003.QuickRep1Preview(Sender: TObject);
begin
FormPreview.QRPreview1.QRPrinter:=TQRPrinter(sender);
FormPreview.Show;
end;
← →
Skier (2003-05-29 10:04) [4]А это присваивание
FormPreview.QRPreview1.QRPrinter:=TQRPrinter(sender);
точно корректно ?
← →
novill (2003-05-29 10:06) [5]При такой ситуации все отрабатывает нормально, но главная форма не блокируется.
А если поставить
в Mainunit
procedure TMainForm.N1_1Click(Sender: TObject);
begin
Form16003.ShowModal;
end;
Вторая форма не закрывается.
← →
Skier (2003-05-29 10:09) [6]>novill © (29.05.03 10:06)
Что значит "не закрывается" ?
Чего же ты хочешь от этой добиться если она модальная ?
← →
Юрий Зотов (2003-05-29 10:10) [7]Посмотрите в справке событие OnClose и какое значение по умолчанию имеет параметр Action.
← →
novill (2003-05-29 10:14) [8]Я хочу чтобы нормально отрабатывала такая процедура
procedure TForm16003.BitBtnExitClick(Sender: TObject);
begin
Form16003.Close;
end;
← →
Skier (2003-05-29 10:16) [9]>novill © (29.05.03 10:14)
> Я хочу чтобы нормально отрабатывала такая процедура
Зачем ? В OnClose или OnCloseQuery
у тебя есть какой-то "хитрый" код ?
← →
novill (2003-05-29 10:33) [10]
> Skier © (29.05.03 10:04)
> А это присваивание FormPreview.QRPreview1.QRPrinter:=TQRPrinter(sender);
> точно корректно ?
Я не знаю другого способа привязать Preview к отчету Qpeport.
> Юрий Зотов © (29.05.03 10:10)
> Посмотрите в справке событие OnClose и какое значение по
> умолчанию имеет параметр Action.
Дело в что программа при описанной ситуации вообще не попадает в процедуру TForm16003.BitBtnExitClick(Sender: TObject) и close не
отрабатывает.
Skier © (29.05.03 10:16)
> В OnClose или OnCloseQuery
> у тебя есть какой-то "хитрый" код ?
В том то и дело что там вообще нет кода. Просто по кнопке зарыть окно.
← →
Юрий Зотов (2003-05-29 10:47) [11]> Дело в что программа при описанной ситуации вообще не попадает
> в процедуру TForm16003.BitBtnExitClick(Sender: TObject) и
> close не отрабатывает.
Не попадает в обработчик клика по кнопке? Значит, он не прицеплен к событию OnClick, других вариантов нет.
А вместо Form16003.Close напишите ModalResult := что_нужно.
← →
pasha_golub (2003-05-29 12:00) [12]ModalResult надо устанавливать, Close низзя
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c