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

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

Использование dll через интерфейс


Aragon ©   (2005-10-31 23:26:00) 

Всем привет! Возникла проблема. Есть dll-ка, в ней описан интерфейсный класс и реализация его методов. Вызывающей программе доступен только интерфейс (interface, а не class) класса, который он наследует. Как используя этот интерфейс, получить доступ к методам класса в dll. Необходимо регистрировать свой интерфейс/dll в системе?
Как в данном случаем использовать COM?
Может кто-нибудь сможет показать рабочий пример или дать линк на соответствующую тематику. За ранее спасибо!


Набережных С.   (2005-11-01 07:35:00) [1]

В простейшем случае можно просто экспортиовать из DLL функцию, которая будет создавать объект и возвращать его интерфейс.
 Если имеется фабрика класса и в DLL использован модуль ComServ или подобный, то можно через  DllGetClassObject получить интерфейс фабрики соответствующего класса и через него создать объект посредством IClassFactory.CreateInstance.
 Ну и конечно, если есть фабрика класса, можно зарегистрировать DLL в системе через regsvr32 и иметь доступ к интерфейсу объекта(ов) через стандартную CoCreateInstance.
 Почитать - инфы в сети навалом, книг масса, "ищите и обрящите":)). Например, на RSDN.


Наверх

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