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

Создание элемента управления из dll   Найти похожие ветки 

 
Alexey Morceleb   (2004-08-03 14:25) [0]

Проблема: нужно, чтобы из функции, находящейся в dll можно было создать на форме приложения кнопку, список,и т.д. и управлять ими произвольно. Спасибо!


 
Sergey Kaminski ©   (2004-08-03 15:31) [1]

Конкретно - в чем проблема?


 
REA ©   (2004-08-03 16:28) [2]

Это несколько проблематично (но наверно можно) - лучше использовать для этой цели packages.


 
Sergey Kaminski ©   (2004-08-03 16:31) [3]


function DLL_func (AForm: TForm): TButton;
begin
 Result := TButton.Create (AForm);
 Result.Parent := AForm;
 Result.Left := 10;
 Result.Top := 20;
 Result.OnClick := DLL_OnBtnClick;
 Result.Show;
end;


Уточни проблему или это подходит?


 
y-soft ©   (2004-08-03 17:06) [4]

>Sergey Kaminski ©   (03.08.04 16:31) [3]

Это опасный способ - приведет к неприятностям, если Dll и вызывающая программа скомпилированы в разных версиях Delphi


 
y-soft ©   (2004-08-03 17:27) [5]

Если уж так и делать, то проводя всю обработку на уровне класса только внутри Dll. При инициализации передавать не экземпляр родителя, а хендл его окна, и вызывать конструктор не Create, а CreateParented. Доступ к методам и свойствам экспортируемого контрола только через функции-обертки или/и посылку оконных сообщений (пример: реализация на Delphi работы с ActiveX)


 
Sergey Kaminski ©   (2004-08-03 17:38) [6]


Это опасный способ - приведет к неприятностям, если Dll и вызывающая программа скомпилированы в разных версиях Delphi


Согласен. Это приведет к неприятностям и во многих других случаях.



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

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



Память: 0.46 MB
Время: 0.024 c
14-1091165953
alex_pv
2004-07-30 09:39
2004.08.15
Программеры из Казахстана откликнетесь


3-1089960034
Qwer
2004-07-16 10:40
2004.08.15
DBGrid


1-1091020002
AlexXn
2004-07-28 17:06
2004.08.15
Зеркальное отображение картинки


1-1091180896
fylhtq
2004-07-30 13:48
2004.08.15
Проблема с кириллицей и буфером обмена


14-1090820129
ИдиотЪ
2004-07-26 09:35
2004.08.15
Интерференция мобил




   Наверх