Как нужно импортировать библиотеку типов для создания COM-интерфейса?
Написать COM-dll, которая реализует некий интерфейс. Интерфейс описан в tlb файле с именем, скажем, SomeTLB.tlb.
Дело в том, что с тонкостями IDE Builder я не слишком знаком. Что нужно нажать, чтобы сгенерировался файл с объявлениями интерфейса, который потом надо наполнить нужным функционалом?
Что делаю я:
File\New\Other, там на вкладке ActiveX несколько значков. Не знаю, какой надо выбрать правильно, из названия не совсем понятно, я выбираю COM Object. Далее, необходимо указать имя класса и реализуемый интерфейс в поле Implements. В поле есть возможность выбрать интерфейс из списка и кнопка Add Library, если в списке нужного интерфейса нет. Нажимаю Add Library, выбираю SomeTLB.tlb, но она в списке не появляется.
Как правильно сделать, чтобы создать костяк COM-объекта, с интерфейсом, импортированным из Type Library, да, и еще, какой тип проекта надо создать чтобы он компилировался в COM-dll?
Заранее спасибо.
Написать COM-dll, которая реализует некий интерфейс. Интерфейс описан в tlb файле с именем, скажем, SomeTLB.tlb.
Дело в том, что с тонкостями IDE Builder я не слишком знаком. Что нужно нажать, чтобы сгенерировался файл с объявлениями интерфейса, который потом надо наполнить нужным функционалом?
Что делаю я:
File\New\Other, там на вкладке ActiveX несколько значков. Не знаю, какой надо выбрать правильно, из названия не совсем понятно, я выбираю COM Object. Далее, необходимо указать имя класса и реализуемый интерфейс в поле Implements. В поле есть возможность выбрать интерфейс из списка и кнопка Add Library, если в списке нужного интерфейса нет. Нажимаю Add Library, выбираю SomeTLB.tlb, но она в списке не появляется.
Как правильно сделать, чтобы создать костяк COM-объекта, с интерфейсом, импортированным из Type Library, да, и еще, какой тип проекта надо создать чтобы он компилировался в COM-dll?
Заранее спасибо.
Если вам необходим СОМ-сервер в длл - необходимо для начала создать приложение типа ActiveX Library.
После этого необходимо добавить необходимый класс - подробное описание читайте в Инете - описано это не однократно - ваша задача определиться что будет ваш объект делать. Если вам необходим только объект с пользовательским интерфейсом - выбирайте тип СОМ-объект. Если необходим СОМ+собития соответственно COM+ Event Object и т.д. В справке и руководстве разработчика достаточно подробно все расписано - кроме того предполагается что с концепцией СОМ(DCOM) вы знакомы. Можете поискать мои темы - примерно 3-х годичной давности - некоторые моменты я тогда рассматривал.
Можно ли заставить Builder сгенерить все необходимые объявления основываясь на уже готовой библиотеке типов, поскольку, создавать с нуля то, что уже есть, имхо, нехорошо? Да к тому же и это будет довольно долгая работа.
Подменить tlb, создаваемый Builder'ом на нужный не удается.
Можно ли заставить Builder сгенерить все необходимые объявления основываясь на уже готовой библиотеке типов, поскольку, создавать с нуля то, что уже есть, имхо, нехорошо? Да к тому же и это будет довольно долгая работа.
Подменить tlb, создаваемый Builder'ом на нужный не удается.
Хм. А что просто добавить в проект - не получается? Project\Import Type Library? В чем проблема то? или использовать консольную утилиту tlibimp.exe