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

Вниз

MDIChild in DLL   Найти похожие ветки 

 
Sergey   (2003-05-13 10:06) [0]

Может кто встречался с проблемой - дочерние окна описаны в dll. В эту dll передается application от главного окна, в самой длл ее application сохраняется и перед уничтожением возвращается. Но вот порблема: Если я компилю главное окно и дочернее с галочкой в оболочке не включать все библиотеки в проект (Build with run-time package), то все работает. А если без нее, то не работает: При закрытии гловной формы выдает Access Viloation и Дочернее окно не включается в список окон главной формы (MainForm.MDI...).

Может кто сталкивался? Подскажите пож.


 
evvcom ©   (2003-05-13 10:54) [1]

Если компилится без "Build with run-time package", то и exe, и dll имеют свою копию одного и того же кода реализации всех используемых в них классов. Причем казалось бы есть TForm и там и там - и это один и тот же класс. Но нет! Это два разных класса, хотя и с одним именем, поэтому что-то типа if MyForm is TForm then будет работать не так, как ожидалось бы.
Задумайся над этим, может и поможет чем в решении данной проблемы.


 
Sergey   (2003-05-13 11:37) [2]

Я понимаю о чем ты говоришь и имею представление как это работает. Но от этого не легче. Буду таскать за собой bpl.


Спасибо.


 
Armen   (2003-05-13 16:18) [3]

А в чем проблема использования bpl?
Это же тот же самый dll с возможностью импорта и экспорта классов (RTTI).
А то как заметил evvcom, передаваемый в dll Application никак не будет тем же самым что есть в самом exe. (Хотя у них все свойства + Handle будут одинаковы)



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
14-83738
Sour
2003-05-07 11:12
2003.05.26
Метод Рунге-Кутта


6-83631
P4
2003-03-27 08:34
2003.05.26
MB


1-83447
SVK
2003-05-14 15:00
2003.05.26
Delphi и СИМВОЛЫ WORD


1-83525
Лана Розанова
2003-05-13 09:00
2003.05.26
Service


1-83460
Space
2003-05-13 10:05
2003.05.26
Обработка нажания на клавишу Enter