Форум: "Основная";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];
ВнизЗакрытие программы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c