Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание элемента управления из 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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо