Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Вниз

Создание MDIChild из DLL 


mikrom   (2001-12-26 09:46) [0]

Помогите плз. Как из длл создать MDIChild окно, из EXE вызывается функция в DLL куда передается Handle главного окна EXE файла, это окно MDI Form, когда пытаюсь вызвать Application.CreateForm(TForm1, Form1) вылетает ексепшен
"Cannot create form. No MDI form active".



McSimm   (2001-12-26 12:19) [1]

Надо в DLL подменить глобальные переменные Application и Screen на значения из приложения, сохранив оригинальные значения, которые надо восстановить перед выгрузкой DLL.



mikrom   (2001-12-26 12:35) [2]

А через Handle нельзя?



McSimm   (2001-12-26 14:16) [3]

Видел варианты подмены:
Application.Handle := HostAppHandle,

Но сам не пробовал, посоветовал то, что делал сам



mikrom   (2001-12-26 14:45) [4]

Спасибо, но вот еще вопрос.
По нажатию на кнопку динамически загружается Dll через LoadLibrary.
Показывается форма, закрывается, но при закрытии exe вылетает ексепшен, InvalidPointerOperation



McSimm   (2001-12-26 14:53) [5]

Ну тут предполагать можно много разного.
Интуиция подсказывает, что форма при закрытии не уничтожается (проверь параметр Action в событии OnClose). Потом, видимо, восстанавливается Application(или Handle) при не уничтоженной форме MDIChild.

Повторюсь, вариантов ошибки может быть много.




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.019 c
4-79497           Iron_man              2001-12-23 11:17  2002.02.25  
Midi


14-79448          Феликс                2002-01-07 21:34  2002.02.25  
Жванцкого побили....


14-79456          StelZ                 2002-01-04 20:47  2002.02.25  
Help ака справка


7-79483           Dmitry V. Averuanov   2001-11-08 10:28  2002.02.25  
Как


3-79297           tatk                  2002-01-30 19:16  2002.02.25  
Результат запроса -> в переменную (массив)