|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Выгрузка пакета при исключении в нем
Всем доброго времени суток! Появился следующий вопрос.
Есть главное приложение, есть bpl-ки, динамически загружаемые приложением. Каждая bpl-ка содержит главный фрейм (TMainFrame). Нажимаем кнопку в главном приложении - загружается пакет (LoadPackage), находится класс фрейма (GetClass('TMainFrame')), создается этот самый фрейм и располагается на главной форме приложения. В этой главной форме хранится ссылка на этот фрейм и хендл загруженного пакета. В единицу времени может использоваться максимум один пакет. В главной форме стоит обработчик исключений Application.OnException. Необходимо, при срабатывании обработчика исключений, выгрузить текущий пакет. В данный момент программа работает корректно, если в фрейме пакета не открыто окон. Я разрушаю фрейм пакета (TMainFrame) и выгружаю пакет (UnloadPackage). Но если в этом фрейме открыть какое-либо диалоговое окно, то оно остается висеть после выгрузки пакета. Если это окно убить, то главная форма остается неактивной навсегда. Подскажите пожалуйста, как правильно выгружать пакеты в данном случае и возможно ли это вообще? Буду очень благодарен за помощь. |