Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.026 c