Вниз
Скачать: CL | DM;

Dll Forms In Delphi   Найти похожие ветки 

 
SkySlider ©   (2003-06-16 16:15) [0]

Добрый день.

При присвоении свойству Parent значения для вызываемой (из библиотеки) формы она становится не видима. Хотя для обычных форм можно запросто написать подобное:

myDllForm.Align = alClient;
myDllForm.Parent = Panel1;

(или myDllForm.Parent = myMainForm;)

и все прекрасно. В чем здесь грабли?


 
Skier ©   (2003-06-16 16:19) [1]

>SkySlider © (16.06.03 16:15)
1) А грабли в том что TYourForm в host-приложении и TYourForm в
DLL это разные классы.
2) Бывает полезно делать такую вещь в DLL
Application.Handle := HostAppHandle;


 
Юрий Федоров ©   (2003-06-16 16:21) [2]

Все та же попытка передачи указателя на экземпляр класса в DLL.
Либо компилировать все с пакетами, либо использовать ParentWindow


 
SkySlider ©   (2003-06-16 17:26) [3]

1. Application.Handle := HostAppHandle;
Возможно и полезно, только при данном насморке не помогает.

2. и в приложении, и в Dll используется один класс.
class TfrmCommonDlg : public TForm
{
...
};


3. Можно подробнее насчет ...все с пакетами... и ...ParentWindow...


 
Юрий Федоров ©   (2003-06-16 17:39) [4]

>>2. и в приложении, и в Dll используется один класс.
Разные классы, так как класс этот компилирется 2 раза - в Exe и в DLL - получаем 2 разных класса, пусть и с одинаковыми методами\свойствами.
>>...все с пакетами
см. Project Options \ Packages \ Build with run-time packages.
Включить нужно тот пакет, в который входит TPanel, причем как в Exe так и в DLL
При этом при переносе на другую машину придется соответствующий BPL тащить с собой.
>>...ParentWindow
Вместо Parent присваивать ParentWindow(handle окна)


 
SkySlider ©   (2003-06-16 17:46) [5]

Юрий Федоров спасибо за объяснение ... ПОЛУЧИЛОСЬ!!! Ураа!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
3-83919
Fuelfire
2003-06-03 16:16
2003.06.26
Экспорт из Paradox в Word


1-84288
Ilg
2003-06-14 18:12
2003.06.26
Допустимость имени файла


3-83870
Инна
2003-06-01 15:15
2003.06.26
excel-отчетность в Intranet и просто


3-83892
PaulSin
2003-06-03 08:56
2003.06.26
Оптимизация запроса


1-84390
VISA
2003-06-09 13:47
2003.06.26
Во всех ли версиях Дельфи есть возможность работы с TIniFile




   Наверх