![]() |
|
![]() ![]() ![]() |
|
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
распространенная ошибка при неверной работе с потоками.
как это было: в Execute переменной potok присвоилось false и сразу после этого выполнение треда было приостановлено(менеджером потоков) и управление пришло в основной поток, там ты поймала изменение potok, вышла из цикла и грохнула объект. через какое-то время(это все в течение миллисекунд происходит, не подумай, что долго) управление вернулось в твой поток, происходит выход из метода Execute и далее(в TThread) должны происходить завершающие действия с объектом потока(выставление разных свойств, вызов метода OnTerminate, если назначен, итд). но объект уже удален. опаньки. ![]() ![]() Добавлено через 1 минуту и 41 секунду
|
|||
|
||||
Лена |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: 11 Всего: 11 |
Поставила службу. Обнаружилось не приятность, если строки:
S.Stop(); S.Start(); В методе Execute, то служба останавливается и не стратует. А если эти строки поставить в основной код, то все нормально и останавливается и запускается. Добавлено @ 16:42 Вот так? void __fastcall SOSThread::Execute() { S.Stop(); Sleep(1000); S.Start(); } Это сообщение отредактировал(а) Лена - 11.10.2007, 16:51 |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
||||
|
||||
Лена |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: 11 Всего: 11 |
||||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
ну вот и славненько. можно со спокойной совестью громогласно объявить по экстренной связи "все на перекур нах!"
![]() если от вендора, то все ок. а если еще сами "наворачивали" оболочку, то надо убедиться, что там нет никаких обращений к формам итд(VCL). |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |