|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.09.2009, 10:58 | #1 |
Delphi,Python,PHP
Форумчанин
Регистрация: 04.04.2009
Сообщений: 138
|
Из за чего пишет неверный дескриптор
Из за чего пишет неверный дескриптор когда я останавливаю поток
останавливаю так: PHP код:
PHP код:
|
12.09.2009, 11:10 | #2 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
и на что указывает?
pushl $0x18E3DF6B
call ICQ |
12.09.2009, 11:15 | #3 |
Delphi,Python,PHP
Форумчанин
Регистрация: 04.04.2009
Сообщений: 138
|
|
12.09.2009, 11:26 | #4 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Я понял, но она то должна указывать на строчку на которой выпадает ошибка
pushl $0x18E3DF6B
call ICQ |
12.09.2009, 12:18 | #5 |
Delphi,Python,PHP
Форумчанин
Регистрация: 04.04.2009
Сообщений: 138
|
FlooderThread.Terminate;
тут указывает |
12.09.2009, 13:09 | #6 |
Регистрация: 14.08.2009
Сообщений: 8
|
А ты уверен что в момент вызова FlooderThread.Terminate , поток еще существует ведь ты ему задал FlooderThread.FreeOnTerminate := True
По моему тогда уж лучше в ручную делать free такому потоку. Ну и делать так тоже не очень FlooderThread := TFlooderThread.Create(false); после это поток сразу начинает выполняется а ты ему свойства уже походу присваиваешь тут FlooderThread.Priority := tpNormal; FlooderThread.FreeOnTerminate := True; нет гарантии что поток уже не выполнится до того как ты задашь эти свойства тогда уж лучше FlooderThread := TFlooderThread.Create(true); задать свойства потока а потом FlooderThread.resume |
12.09.2009, 14:54 | #7 | |
Delphi,Python,PHP
Форумчанин
Регистрация: 04.04.2009
Сообщений: 138
|
Цитата:
|
|
12.09.2009, 15:21 | #8 |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
А может был так объявить его :
Код:
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
12.09.2009, 15:43 | #9 |
Регистрация: 14.08.2009
Сообщений: 8
|
Трудно сказать что у тебя происходит , не знаю что делается внутри Thread. Единственное что можно сказать , это то что в тот момент когда ты вызываешь FlooderThread.Suspend - thread уже отработал и по скольку ему было выставлено FlooderThread.FreeOnTerminate := True; то он уже удалился и по этому происходит сообщение об ошибке . Не плохо было бы оставить FreeOnTerminate := false ; и посмотреть как это будет работать при таком раскладе ну и попробовать как то подстраховатся и вызывать suspend только если Thread еще активна
|
12.09.2009, 16:23 | #10 | |
Delphi,Python,PHP
Форумчанин
Регистрация: 04.04.2009
Сообщений: 138
|
Цитата:
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при работе с canvas "Неверный дескриптор" | Алекс Ялта | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 17 | 13.06.2011 22:32 |
Неверный запрос | Gromsky | SQL, базы данных | 9 | 21.08.2009 18:25 |