![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CheckBox1 запрос при выходе из программы [D6, Win2k]
PTE © (2002-06-10 18:02:00)как правильно построить запрос. Формы fsMDIForm и fsMDIChild
в дочерней форме CheckBox1 надо сделать так, что если CheckBox1 в true, то выдает подтверждение при выходе если нет то сразу закрывает делаю так, но что-то не то
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Form8.CheckBox1.Checked
then
Action :=caFree
else
if MessageDlg("Close?", mtConfirmation,[mbYes],[mbNo],0)=mrYes
then
Action :=caFree;
end;
PTE (2002-06-10 18:25:00) [1]Всё поставил в Close
Action :=caFree; Всё нормально спасибо братцы
PTE (2002-06-10 18:24:00) [2]да я понял, повесил, правда фигню не понял вот моё
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := Form8.CheckBox1.Checked;
if NOT CanClose then
CanClose := MessageDlg("Close?",mtConfirmation,[mbYes,mbNo],0)=mrYes
end;
если ставлю =mrNo, тогда закрывается без ошибок правда не на Yes а на No,
Если стоит meYes, тогда программа при помеченном чекбоксе вываливает ошибку Access violation at address 004F5E92 in module Project1.exe Read of address 000002F4
Andrey007 (2002-06-10 18:18:00) [3]2 PTE:
Код, написанный Игорем Шевченко надо повесить на событие OnCloseQuery.
PTE (2002-06-10 18:11:00) [4]var CanClose:
CanClose:=False;
так надо?
Andrey007 (2002-06-10 18:09:00) [5]2PTE:
Не FormClose, а FormCloseQuery
PTE (2002-06-10 18:07:00) [6]ругается на CanClose, это что?
[Error] Unit1.pas(83): Undeclared identifier: "CanClose"
[Error] Unit1.pas(85): Incompatible types: "Integer" and "Set"
Игорь Шевченко (2002-06-10 18:03:00) [7]procedure TForm1.FormCloseQuery(Sender : TObject; var CanClose : Boolean)
begin
CanClose := CheckBox1.Checked;
if NOT CanClose then
CanClose := MessageDlg("Close?", mtConfirmation,[mbYes],[mbNo],0)=mrYes
end;