Показать сообщение отдельно
  #1  
Старый 19.07.2011, 17:15
ArkaNN ArkaNN вне форума
Прохожий
 
Регистрация: 19.07.2011
Сообщения: 4
Репутация: 10
По умолчанию Выгрузка пакета при исключении в нем

Всем доброго времени суток! Появился следующий вопрос.

Есть главное приложение, есть bpl-ки, динамически загружаемые приложением. Каждая bpl-ка содержит главный фрейм (TMainFrame). Нажимаем кнопку в главном приложении - загружается пакет (LoadPackage), находится класс фрейма (GetClass('TMainFrame')), создается этот самый фрейм и располагается на главной форме приложения. В этой главной форме хранится ссылка на этот фрейм и хендл загруженного пакета. В единицу времени может использоваться максимум один пакет. В главной форме стоит обработчик исключений Application.OnException.

Необходимо, при срабатывании обработчика исключений, выгрузить текущий пакет.

В данный момент программа работает корректно, если в фрейме пакета не открыто окон. Я разрушаю фрейм пакета (TMainFrame) и выгружаю пакет (UnloadPackage). Но если в этом фрейме открыть какое-либо диалоговое окно, то оно остается висеть после выгрузки пакета. Если это окно убить, то главная форма остается неактивной навсегда.

Подскажите пожалуйста, как правильно выгружать пакеты в данном случае и возможно ли это вообще? Буду очень благодарен за помощь.
Ответить с цитированием