Использование COM DLL с неуправляемым C ++ - PullRequest
2 голосов
/ 07 февраля 2012

Я все еще немного новичок в программировании Windows и иногда нахожу документацию и учебные пособия, которые я нахожу запутывающими, а иногда и противоречивыми, но я надеюсь, что смогу разобраться в некоторых вопросах, в которых я ошибаюсь.Я использую API, где документация включена довольно плохо.Он состоит из ряда DLL, которые, как они предполагали, будут добавлены в качестве ссылки на проекты VB (большинство пользователей являются биологами / химиками и не очень знакомы с другими языками, поэтому они рекомендуют VB).Сначала я думал, что это DLL-библиотеки .NET, но их нельзя зарегистрировать с помощью regasm, и с помощью этого нельзя сгенерировать tlb, но можно зарегистрировать с помощью regsvr32, поэтому я предполагаю, что это означает, что они являются COM-библиотеками DLL ... пожалуйста, исправьте меня, если я ошибаюсь.

Насколько я понимаю, поскольку это предоставляет COM-объекты, я должен иметь возможность использовать это с языками .NET и неуправляемым c ++.Я использовал это в C #, но я также хотел бы использовать это в неуправляемом C ++.Я видел учебники, подобные этому: http://cppkid.wordpress.com/2009/01/...nmanaged-code/ Это импортирует библиотеку типов, но у меня ее нет, она не поставляется с API.Однако, используя OLE viewer, я смог увидеть, что они были доступны (встроены в dll?).Мне было интересно, если кто-нибудь знает, как я могу перейти от этого к фактическому использованию DLL в C ++.

Приветствия и спасибо за любую помощь.

1 Ответ

2 голосов
/ 07 февраля 2012

Я думаю, что самый простой способ добиться этого - использовать директиву #import:

#import <mygreatlib.dll>

Есть и другие способы, например, использование #import с ProgID класса точки входа вашей dll или использование мастера библиотеки типов MFC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...