Текущий архив: 2002.06.24;
Скачать: CL | DM;
Вниз
CheckBox1 запрос при выходе из программы Найти похожие ветки
← →
PTE © (2002-06-10 18:02) [0]как правильно построить запрос. Формы 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;
← →
Игорь Шевченко © (2002-06-10 18:03) [1]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;
← →
PTE © (2002-06-10 18:07) [2]ругается на CanClose, это что?
[Error] Unit1.pas(83): Undeclared identifier: "CanClose"
[Error] Unit1.pas(85): Incompatible types: "Integer" and "Set"
← →
Andrey007 (2002-06-10 18:09) [3]2PTE:
Не FormClose, а FormCloseQuery
← →
PTE © (2002-06-10 18:11) [4]var CanClose:
CanClose:=False;
так надо?
← →
Andrey007 (2002-06-10 18:18) [5]2 PTE:
Код, написанный Игорем Шевченко надо повесить на событие OnCloseQuery.
← →
PTE © (2002-06-10 18:24) [6]да я понял, повесил, правда фигню не понял вот моё
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
← →
PTE © (2002-06-10 18:25) [7]Всё поставил в Close
Action :=caFree; Всё нормально спасибо братцы
Страницы: 1 вся ветка
Текущий архив: 2002.06.24;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.017 c