Вниз
Скачать: 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.02 c
1-1091454776
mr.Tim
2004-08-02 17:52
2004.08.15
Как ожидать завершения всех TThread ?


3-1090480287
SergP
2004-07-22 11:11
2004.08.15
LEFT JOIN. Как Null "преобразовать" в 0?


6-1086865103
alexdosh
2004-06-10 14:58
2004.08.15
SNMP


1-1091520951
Bumer
2004-08-03 12:15
2004.08.15
ComboBox


14-1091173497
Layner
2004-07-30 11:44
2004.08.15
Мышь(оптическая) сама бегает в win2000 :)




   Наверх