Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.113 c
1-84421
next2
2003-06-09 17:24
2003.06.26
при создании новой компоненты ошибка...


1-84161
Aleksandr
2003-06-11 15:29
2003.06.26
Что надо сделать для


1-84236
Леонид Федьков
2003-06-13 11:48
2003.06.26
DELPHI - MS Word


14-84742
Soft
2003-06-05 14:22
2003.06.26
Начальный возраст для работы с компьютером


14-84747
Валерыч
2003-06-05 03:52
2003.06.26
Глюки с палитрой компонент и с хелпом