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

Вниз

Завершение thread Не происходит   Найти похожие ветки 

 
Fantnk ©   (2009-11-07 21:16) [0]

В программе на Delphi создал Procedure MyThread.Execute, выполняющую несколько циклов и выводит прогрессбар (отдельная форма).
После всего этого поток не закрывается. Terminated = false. Как мне закрыть поток (принудительно или как - не важно). Важно то, чтобы программа корректно закрылась, а не с EOSError (не верный дескриптор окна, #1400).
Помогите, пожалуйста.


 
Сергей М. ©   (2009-11-07 21:21) [1]


> Важно то, чтобы программа корректно закрылась


Исправь ошибку в теле Execute - будет закрываться корректно.


 
Fantnk ©   (2009-11-07 21:24) [2]


> Исправь ошибку в теле Execute - будет закрываться корректно.

При компиляции никаких ошибок не выдало...


 
Сергей М. ©   (2009-11-07 21:27) [3]

И что ?
Компилятор не обязан ловить ошибки логики, приводящей к катастрофе алгоритма в ран-тайм


 
Сергей М. ©   (2009-11-07 21:28) [4]


> выводит прогрессбар


Обращения к визуальным VCL-контролам из доп.потоков VCL-приложения недопустимы.


 
Fantnk ©   (2009-11-07 21:34) [5]

Т.е. я не могу выводить не только прогресс бар, но и, допустим, вносить к-либо значения в edit"ы?
Кусок из процедуры Thread:
 Form1.Memo1.CopyToClipboard;
 sleep(10);
 Form1.Edit1.PasteFromClipboard;

Это не допустимо?
Есть альтернатива потокам? Мне нужно, чтобы шлавная форма не подвисала во время выполнения программы.


 
Сергей М. ©   (2009-11-07 21:41) [6]


> Это не допустимо?


Да, это не допустимо.


> нужно, чтобы шлавная форма не подвисала во время выполнения
> программы


Для этого предусмотрен метод TThread.Synchronize - он поставит в хвост очереди осн.потока "команду" на выполнение указанного тобой метода твоего класса TMyThread, в котором можно будет безопасно обращаться к виз. VCL-контролам.


 
Anatoly Podgoretsky ©   (2009-11-07 21:44) [7]

> Fantnk  (07.11.2009 21:16:00)  [0]

А надо Terminated = true



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
15-1256486186
berlios
2009-10-25 18:56
2009.12.27
Задачка


1-1231522874
Psycho
2009-01-09 20:41
2009.12.27
Pointer на Unicode-строку


15-1256236718
Kolan
2009-10-22 22:38
2009.12.27
Статья на хабаре про Делфи «создание и уничтожение объектов...»


2-1257618815
andrewtitoff
2009-11-07 21:33
2009.12.27
Как разбить строку


15-1256851810
Юрий
2009-10-30 00:30
2009.12.27
С днем рождения ! 30 октября 2009 пятница