![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BPL (часть 3) [D7, Win2k]
oss © (2002-12-11 13:22:00)Есть группа БПЛ статических и группа динамических, возникают 2 вопроса:
1. За загрузку и выгрузку статических БПЛ всю ответственность несет на себе приложение (ехе), сам их загружает при старте и сам выгружает при закрытие, так ?
2. Динамические. Если я сделал загрузку динамического БПЛ, то обязатедьно делать его выгрузку перед закрытием ? Само приложение не выгрузит при закрытие ?
спасибо
oss (2002-12-11 14:16:00) [1]Спасибо всем.
Digitman (2002-12-11 13:38:00) [2]Процесс в любом случае ответственен за принудительную выгрузку модулей, еще невыгруженных по тем или иным причинам на момент своего завершения. При этом неважно, в какое время и как был загружен тот или иной модуль - статически или динамически
Другой вопрос, что осознанное использование дин.загрузки/выгрузки программных модулей имеет определенные преимущества в части возможности программного контроля за распределением вирт.адр.пространства процесса и экономии ресурсов системы
han_malign (2002-12-11 13:33:00) [3]1. Статический BPL - под этим обычно понимают прилинкованный к EXE компилятором, делать function qqq:integer;external "fff.bpl" - по моему мало осмысленно.
2. По идее при закрытии приложения, то-ли Delphi, то-ли система закрывает все хэндлы и соответственно отпускает все системные объекты, но утверждать не буду, сам не проверял(во всяком случае файлы без закрытия не Flush-атся, так что есть подозрения, что это не так), к тому же отпускание динамических объектов - это просто хороший тон, если ломает отслеживать когда его отпустить - есть initialization и finalization секции.