Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.29;
Скачать: CL | DM;

Вниз

Закрытие программы   Найти похожие ветки 

 
c0pYc@t   (2002-07-16 11:07) [0]

Помогите обработать сообщение возникающее при закрытии формы
Мне нужно по закрытию выполнить другое действие

Спасибо всем


 
RV ©   (2002-07-16 11:12) [1]

в обект инспекторе у формы есть onCloseQuery

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
все дела
end;
книгу купи, да?


 
c0pYc@t   (2002-07-16 11:23) [2]

Не типа не понял
Мне нужно чтобы после клика моя прога не закрылась, а просто выполнила действия


 
BAY ©   (2002-07-16 11:26) [3]

в OnClose вставь Abort и делай все что хочешь


 
Skier ©   (2002-07-16 11:27) [4]

>c0pYc@t

> Мне нужно чтобы после клика моя прога не закрылась, а просто
> выполнила действия

Поставь в
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

CanClose := False;



 
RV ©   (2002-07-16 11:29) [5]

все дела = то, что надо выполнить + запуск второй копии с передачей данных + закрытие первой

или тут было как сделать "неубиваемый процесс"


 
Song ©   (2002-07-16 11:36) [6]

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
Begin
ShellExecute(Handle,nil,PChar(Application.ExeName),nil,nil,SW_SHOWNORMAL);
End;
Однако неубиваемым он не будет т.к. при аварийном завершении onCloseQuery не выпаолнится.


 
Skier ©   (2002-07-16 11:38) [7]

>Song
А причём тут ShellExecute ???


 
RV ©   (2002-07-16 11:40) [8]

ну, естественно
а если мину противотанковую подложить, то и вообще ни один процесс никогда уже не выполниться.


 
Song ©   (2002-07-16 12:07) [9]

>>А причём тут ShellExecute ???

все дела = то, что надо выполнить + запуск второй копии с передачей данных + закрытие первой


 
Skier ©   (2002-07-16 12:17) [10]

>Song
Понял.
Но
> запуск второй копии
это же полный бред...


 
c0pYc@t   (2002-07-16 12:52) [11]

Тогда другой вопросец ,
Вот ,спасибо, BAY ю использую Abort как он и сказал,
Вопрос: Как же тогда ее действительно закрыть, если в Close находится Abort

procedure TServerRun.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Abort
end;


 
Skier ©   (2002-07-16 12:55) [12]

>c0pYc@t
Про Abort никого не слушай !
Тебе просто нужен Action := caNone

А если хочешь закрыть то
проверяй какое-то своё условие и делай
Action := caFree и усё...


 
c0pYc@t   (2002-07-16 13:00) [13]

>Skier спасибо


 
Skier ©   (2002-07-16 13:03) [14]

>c0pYc@t
Только помни : что после Action := caFree формы не будет
в памяти - она "умрёт" !


 
olookin ©   (2002-07-16 13:08) [15]

А если нужно закрыть (при определенных условиях), поставь глобальную переменную, и если она чему-то там равна, то закрыть, а если нет, то выполнить действия (с применением Abort).


 
c0pYc@t   (2002-07-16 13:13) [16]

>Skier Это мне и нуна



Страницы: 1 вся ветка

Текущий архив: 2002.07.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
1-95287
maxim2
2002-07-17 06:00
2002.07.29
Можноли убрать Scrollbar у Listbox ?


6-95462
snoup
2002-05-16 20:40
2002.07.29
Please помагите, как программно послать сообщение на определённый


4-95621
Nubie
2002-05-21 02:59
2002.07.29
???Запуск прграммы???


14-95539
Jackie
2002-06-30 10:22
2002.07.29
выбор рисунка из файла с указанием координат


14-95500
kserg@ukr.net
2002-07-01 10:14
2002.07.29
Подскажите толковый форум по 1С-бух