Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
9-26329
MRB_SPB
2003-01-04 11:26
2003.06.09
Преобразования


14-26661
inc-viz
2003-05-24 11:32
2003.06.09
Где брать дистрибутив bde и ADO для программы


1-26432
fav
2003-05-29 00:24
2003.06.09
Из HTML в Базу


1-26583
df
2003-05-28 14:51
2003.06.09
TPowerSock


1-26449
Spartak
2003-05-21 07:39
2003.06.09
Как передавать данные с формы из dll не закрывая формы ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский