Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать загружен пакет или нет


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, если логика системных манипуляций сч-ком ссылок на пакет принципиальна.


Наверх

Титульная страница Поиск, карта сайта Написать письмо