![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание элемента управления из dll [D7, Win2k, WinXP]
Alexey Morceleb © (2004-08-03 14:25:00)Проблема:нужно, чтобы из функции, находящейся в dll можно было создать на форме приложения кнопку, список,и т.д. и управлять ими произвольно. Спасибо!
Sergey Kaminski (2004-08-03 17:38:00) [1]
Это опасный способ - приведет к неприятностям, если Dll и вызывающая программа скомпилированы в разных версиях Delphi
Согласен. Это приведет к неприятностям и во многих других случаях.
y-soft (2004-08-03 17:27:00) [2]Если уж так и делать, то проводя всю обработку на уровне класса только внутри Dll. При инициализации передавать не экземпляр родителя, а хендл его окна, и вызывать конструктор не Create, а CreateParented. Доступ к методам и свойствам экспортируемого контрола только через функции-обертки или/и посылку оконных сообщений (пример: реализация на Delphi работы с ActiveX)
y-soft (2004-08-03 17:06:00) [3]>Sergey Kaminski © (03.08.04 16:31) [3]
Это опасный способ - приведет к неприятностям, если Dll и вызывающая программа скомпилированы в разных версиях Delphi
Sergey Kaminski (2004-08-03 16:31:00) [4]
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;
Уточни проблему или это подходит?
REA (2004-08-03 16:28:00) [5]Это несколько проблематично (но наверно можно) - лучше использовать для этой цели packages.
Sergey Kaminski (2004-08-03 15:31:00) [6]Конкретно - в чем проблема?