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

Вниз

TFrame в Dll   Найти похожие ветки 

 
gVisio ©   (2005-10-26 12:14) [0]

как вызвать Frame из DLL и поместить его на форму???


 
BFG9k ©   (2005-10-26 12:33) [1]

Придется немного помучаться, коллега :)

Я использовал пакеты (Packages), они генерируют bpl. Экземпляр TFrame должен быть создан внутри пакета с помощью экспортируемой функции, которая и вернет его в основную программу. Объявлять экспортируемую функцию можно в любом модуле пакета. Далее действовать также, как и с dll (LoadPackage,GetProcAddress,UnloadPackage).

Грабли:

1. В основном проекте должен быть включен флаг Build With Runtime packages (Options-Packages)

2. Все вызываемые методы и объекты должны быть описаны как в основной программе, так и в пакете. Причем вызываемые методы фрейма должны быть virtual.

3. Уничтожать экземпляры фрейма лучше тоже внутри пакета.

4. Разные пакеты не должны содержать одноименных модулей (с этим я занимаюсь сексом конкретно сейчас).


 
clickmaker ©   (2005-10-26 12:37) [2]


> gVisio ©   (26.10.05 12:14)  
> как вызвать Frame из DLL и поместить его на форму???

собссно ниче сложного. Но есть несколько требований
1. И Exe и DLL должны быть собраны с одними и теми же runtime пакетами.
2. В DLL нужно передать Application из Exe и присвоить его апликэйшену длл
3. То же для Screen

А дальше пишешь экспортируемую ф-ию, где создаешь фрейм, возвращаешь указатель на него. А в экзе уже делай с ним, что хочешь. На форму положить - значит Frame.Parent := Form


 
BFG9k ©   (2005-10-26 12:43) [3]

clickmaker :

Ну наконец-то. Сейчас попробуем.



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

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

Наверх




Память: 0.47 MB
Время: 0.037 c
14-1130423242
oldman
2005-10-27 18:27
2005.11.20
Опрос. Приглашаются мужчины и (особенно) женщины.


2-1131047306
Eksell
2005-11-03 22:48
2005.11.20
Kak v Console ochisteti ekran?


14-1130479509
AngelOfDeath
2005-10-28 10:05
2005.11.20
DLL


14-1130687101
DK2DK2DK2
2005-10-30 18:45
2005.11.20
ShareWare какими программами вы пользуетесь


2-1130499208
Yus
2005-10-28 15:33
2005.11.20
Работа с классами