![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание MDIChild из DLL [D5, Win2k]
mikrom © (2001-12-26 09:46:00)Помогите плз. Как из длл создать MDIChild окно, из EXE вызывается функция в DLL куда передается Handle главного окна EXE файла, это окно MDI Form, когда пытаюсь вызвать Application.CreateForm(TForm1, Form1) вылетает ексепшен
"Cannot create form. No MDI form active".
McSimm (2001-12-26 14:53:00) [1]Ну тут предполагать можно много разного.
Интуиция подсказывает, что форма при закрытии не уничтожается (проверь параметр Action в событии OnClose). Потом, видимо, восстанавливается Application(или Handle) при не уничтоженной форме MDIChild.
Повторюсь, вариантов ошибки может быть много.
mikrom (2001-12-26 14:45:00) [2]Спасибо, но вот еще вопрос.
По нажатию на кнопку динамически загружается Dll через LoadLibrary.
Показывается форма, закрывается, но при закрытии exe вылетает ексепшен, InvalidPointerOperation
McSimm (2001-12-26 14:16:00) [3]Видел варианты подмены:
Application.Handle := HostAppHandle,
Но сам не пробовал, посоветовал то, что делал сам
mikrom (2001-12-26 12:35:00) [4]А через Handle нельзя?
McSimm (2001-12-26 12:19:00) [5]Надо в DLL подменить глобальные переменные Application и Screen на значения из приложения, сохранив оригинальные значения, которые надо восстановить перед выгрузкой DLL.