Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.02;
Скачать: CL | DM;

Вниз

Проблемы с формой из runtime-пакета   Найти похожие ветки 

 
Суслик ©   (2005-09-07 17:49) [0]

Исходники, поясняющие вопрос, расположены тут http://www.webfile.ru/505476.

Есть проект Client. Который посредством runtime-пакета PlugAncestor загружает функцией LoadPackage пакет Plug.

Пакет Plug поставляет форму-плугин.

Проект Client создает форму-плугин. При этом Owner у формы = nil.

После создания формы-плугина возбуждается исключительная ситуация, которая в обработчике Application.OnException приводит к закрытию формы.

При этом главная форма Client"а принудительно уничтожает форму плугин и выгружает Plug функцией UnloadPackage.

Если запустить Client и нажать последовательно (сверху вниз) на 3 кнопки, то в итоге в конце програмы будет Access Violation.

Буду крайне признателен, если кто-то ответит, почему происходит AV и что я не так делаю?


 
Суслик ©   (2005-09-07 17:50) [1]

Виноват. Правильный адрес такой:

http://www.webfile.ru/505476

(т.е. без точки на конце)


 
Суслик ©   (2005-09-07 18:50) [2]

Я вроде разобрался с проблемой.

Нужно
либо
  после fPlug.Close() делать Application.ProcessMessages()
Либо
  fPlug.Close() заменить на fPlug.Free()

Дело в особенностях реализации Close - вызывается Release, который посылает сообщение, которое в исходном моем коде не успевает обработаться.


 
Суслик ©   (2005-09-07 18:50) [3]

А... этта

Спасибо Акуличеву. Большое.



Страницы: 1 вся ветка

Текущий архив: 2005.10.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
14-1125986780
Igorek
2005-09-06 10:06
2005.10.02
За что мы любим США


5-1101711201
Mishenka
2004-11-29 09:53
2005.10.02
редактор свойства компанента


3-1124273623
iXT
2005-08-17 14:13
2005.10.02
ADO в DLL


9-1117339594
Anonim
2005-05-29 08:06
2005.10.02
Как соединить две точки не линией?


14-1126011658
oldman
2005-09-06 17:00
2005.10.02
Никто не знает, что это было 3 сентября?