Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо