Вниз
Скачать: 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.033 c
4-1089046492
ИМХО
2004-07-05 20:54
2004.08.15
CLSID


1-1091533107
Sectey
2004-08-03 15:38
2004.08.15
Список методов у объекта


1-1090758655
Johnny Raw
2004-07-25 16:30
2004.08.15
unicode charset


3-1090238932
ligor
2004-07-19 16:08
2004.08.15
Текущая дата в IB 6.5 диалект 1


1-1091184470
ИМХО
2004-07-30 14:47
2004.08.15
Application.Terminate




   Наверх