![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| SSV |
|
|||
|
Unregistered |
Программа в отдельном потоке создает компоненты для доступа к базе Интербейса (TIBDatabase, TIBTransaction, TIBQuery), считывает из нескольких БД данные, обрабатывает и укладывает еще в одну БД.
Так вот вопрос: во время работы этого потока почему-то сильно нарастает количество используемых объекты GDI и не освобождаются даже после умирания потока и явного убиения созданных объектов в его деструкторе, что может захватывать эти ресурсы, если из потока нет обращения ни к VCL ни к чему либо другому? Для ожидания завершения потока использую функцию WaitForSingleObject. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
То что после уничтожения потока GDI-ресурсы не освобождаются - это так и должно быть - контейнером ресурсов является не поток, а процесс.
Тут телепатически трудно сказать, откуда идёт утечка. Придётся тебе отрубать отдельные части проги и смотреть, уберется ли утечка. Когда выяснишь в какой примерно части утечка - смотри внимательней, что забывают делать. Делаешь ли ты сам какие-нибудь GDI-операции (может забываешь удалять/освобождать объекты ? К примеру, иногда после GetDC забывают сделать ReleaseDC)... -------------------- С уважением, г-н Посол. |
|||
|
||||
![]()
|
| Правила форума "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. |