![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как найти контрол по его WHND (кроме FindControl)? [D6, WinXP]
pum5a © (2003-09-13 16:40:00)
Передаю в dll из приложения HWND контрола. В dll-ке делаю
c:=FindControl(Handle) - он выдает nil. А мне надо получить контрол. Может надо как-нть конвертить локальный handle контрола в глобальный? Или как-нть подругому его получать?
[lamer]Barmaglot (2003-09-16 14:04:00) [1]
RTFM?
http://www.delphimaster.ru/articles/dll_use/index.html
Иван Шихалев (2003-09-16 12:50:00) [2]
> Ну правда, и EXE и DLL собраны с одним набором runtime-packages
Ну да, про такой вариант, когда и BPL и DLL наличествуют, я как-то не подумал.
clickmaker (2003-09-16 11:00:00) [3]
> Иван Шихалев © (13.09.03 18:58) [3]
Почему никак? У меня MDI-приложение, фреймы живут в DLLелинах, при создании MDI-Child подгружается нужная DLL, вызывается экспортируемая функция, которая создает фрейм и возвращает указатель на него. А дальше - Frame.Parent := MDIChild и все работает.
Ну правда, и EXE и DLL собраны с одним набором runtime-packages
pum5a (2003-09-15 21:46:00) [4]
:) А примерчимк можно?
Иван Шихалев (2003-09-13 18:58:00) [5]
И снова - никак. Для того, чтобы разместить именно фрейм необходимо использовать BPL. Однако механизм плагинов можно разработать и иначе. Например, используя механизм сообщений Windows, тогда кроме HWND ничего и не понадобится.
pum5a (2003-09-13 18:14:00) [6]
В таком случае немного более конкретный вопрос: как разместить фрейм, находящийся в dll-ке (плагин) на форме вызывающего его приложения
Иван Шихалев (2003-09-13 17:15:00) [7]
Никак. Объектная модель Delphi не расшарена между библиотеками. Хотя можно использовать BPL.