主页
Top.Mail.Ru Yandeks.Metrika
论坛:“主要”;
当前存档: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);
开始
все дела
结束;
книгу купи, да?



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);
开始
ShellExecute(Handle,nil,PChar(Application.ExeName),nil,nil,SW_SHOWNORMAL);
结束;
Однако неубиваемым он не будет т.к. при аварийном завершении onCloseQuery не выпаолнится.



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

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



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

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



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

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

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



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

>宋
明白了

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



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

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

procedure TServerRun.FormClose(Sender: TObject; var Action: TCloseAction);
开始
流产
结束;



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.6 MB
时间:0.027 c
4-95625
LenaK
2002-05-21 09:54
2002.07.29
StringToWideChar函数的问题


6-95466
TEXHAPb
2002-05-13 18:41
2002.07.29
Indy与Fastnet


1-95280
Glonia zbanov
2002-07-17 10:41
2002.07.29
如何在exe项目中缝制avi(shku)


4-95613
MemoryLeak
2002-05-22 05:29
2002.07.29
如何通知DLL“其他人关于其完成的过程?


1-95308
余弦
2002-07-15 17:10
2002.07.29
编译程序后不要告诉我如何确保





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский