![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Чучмек |
|
|||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 14 Всего: 41 |
При завершении приложения, необходимо завершить работу потоков в dll.
Но при выполнении секции finalization, подключаемого в dll модуля (Потоки вынесены в отдельный модуль), потоки уже убиты. Аналогично для DLL_PROCESS_DETACH завершающей процедуры dll. -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
значит не нужно ничего завершать? или В ЧЁМ ВОПРОС? |
||||
|
|||||
| Чучмек |
|
|||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 14 Всего: 41 |
В dll, по необходимости, создается поток.
После выполнения своей задачи поток не уничтожается, а приостанавливается.(Вызывается Suspend в Execute).
По необходимости поток повторно запускается. При завершении приложения,важно освобождение ресурсов. И только в своем потоке !!! -вызывается CoUnInitialize. В finalization Все потоки уже преостановленны и вызов Resume не дает эфекта. За раннее сообщить библиотеке "что нужно выгружатся" нет возможности Это сообщение отредактировал(а) Чучмек - 27.5.2011, 12:52 -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
1. Не использовать suspend
2. Проверять Terminated и ждать по таймауту, к примеру, события для продолжения работы. -------------------- There are always someone smarter than you... |
|||
|
||||
| Чучмек |
|
|||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 14 Всего: 41 |
В finalization не приостановленный поток будет еще живой??? -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
| Чучмек |
|
||||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 14 Всего: 41 |
Нет. Поток уже дохлый. Проверил
Эфект такой же, как и при Suspend/Resume -------------------- умную мысль держи при себе, а дурной - поделись с другими |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |