![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать загружен пакет или нет
Matveih1 © (2008-05-14 12:44:00)Как узнать загружен пакет или нет?
И вообще есть ли в этом необходимость? Программа разбита на несколько пакетов и при необходимости они подгружаются. Вот здесь возникает вопрос надо ли перед загрузкой проверять, а не загружен ли пакет раньше (*.bpl)? И как правильно выгружать пакеты *.bpl?
Matveih1 (2008-05-14 14:39:00) [1]Спасибо! Работает! Действительно просто!
Сергей М. (2008-05-14 14:27:00) [2]Оч просто :
hPackage := GetModuleHandle('SomePackage.bpl');
Win32Check(hPackage <> 0);
Matveih1 (2008-05-14 14:08:00) [3]Что бы использовать ранее загруженный пакет, как узнать загружен он (пакет) или нет?
Сергей М. (2008-05-14 13:12:00) [4]
> надо ли перед загрузкой проверять, а не загружен ли пакет
> раньше (*.bpl)?
Все зависит от требуемой логики использования пакета со стороны функционально независимых модулей (участков кода) приложения и/или со стороны более чем одного потока процесса приложения.
Любая попытка загрузки/выгрузки приводит к инкременту/декременту сч-ка ссылок на пакет. Если это непринципиально, можно не грузить пакет явно, а граничиться использованием ранее уже загруженного пакета.
> как правильно выгружать пакеты *.bpl
В большинстве случаев достаточно вызова UnloadPackage, если логика системных манипуляций сч-ком ссылок на пакет принципиальна.