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

Вниз

закрытся на TForm.Close   Найти похожие ветки 

 
debuger ©   (2004-09-25 15:35) [0]

Есть простое приложение. Одна форма, на ней таймер и поток.
В Form.CloseQuery прописываю терминацию потока.

Когда выполняю Form.Close поток терминатится, но форма не закрывается и таймер работает.

Еще забавная особенность: когда закрытие произвожу по таймеру, происходит выше описанное, но потом когда жму крестик форма закрываеться.

Если же просто жму крестик вываливаеться ошибка Ункновн софтваре ексептион он (?х?????)...

Я пытался по всякому сделать нормальное закрытие, но что-то не особо выходит. Как нужно сделать правильно?


 
Palladin ©   (2004-09-25 17:44) [1]

1 Закрывать форму или приложение нужно?
2 Перед закрытием дожидаешься остановки потока?


 
debuger ©   (2004-09-25 21:58) [2]

1. Закрывать форму нужно. В одном из вариантов я даже лепил присвение флагов в саFee, и CanClose = True, але невдачка шла рядом;

2. Нет, не дожидаюсь. Я так полагаю, что он успевает спокойно умереть и так.


 
Mim1 ©   (2004-09-26 03:33) [3]

Если код не велик то можно его привести.


 
Defunct ©   (2004-09-26 04:41) [4]

IMHO в OnCloseQuery надо:
1. Остановить таймер.
2. Убить таймер.
3. "Терминировать" поток.
4. не терминировался через 1 сек. тогда убить его.
5. CanClose := True;



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

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

Наверх




Память: 0.47 MB
Время: 0.041 c
6-1091398924
НовиЧок
2004-08-02 02:22
2004.10.10
Убить фрейм в WebBrowser e


3-1094803579
Пуртик
2004-09-10 12:06
2004.10.10
ADODataSet +Action


14-1095630775
Knight
2004-09-20 01:52
2004.10.10
Бортовой "компьютер" БК-06...


1-1096272465
Serge
2004-09-27 12:07
2004.10.10
Design-Time controling


1-1096264936
Rostislav Rotaru
2004-09-27 10:02
2004.10.10
Помогите перевести на Delphi