#visual-studio-2010 #com
#visual-studio-2010 #com
Вопрос:
Как мне написать COM-объект с нуля в Visual Studio? Похоже, что для com-объекта не существует опции new project.
Ответ №1:
Вы должны перейти к Other Languages -> Visual C -> ATL Project
, чтобы написать COM-объект.
Комментарии:
1. ATL == активная библиотека шаблонов. Все ли com-объекты написаны таким образом?
2. Являются ли все COM-объекты базовыми DLL, и технология COM на самом деле заключается в том, какой код находится в DLL, что делает его COM-объектом?
3. COM-объекты — это просто библиотеки DLL, которые предоставляют определенный интерфейс. А именно IUnknown. Имейте в виду, что существуют способы создания управляемых сборок, которые предоставляют эти интерфейсы и позволяют COM-клиентам взаимодействовать с ними.
4. ATL довольно сильно упрощает разработку COM. В шаблонах и макросах скрыто множество кода boiler plate. Однако это не самая простая из задач. Вам следует обзавестись книгой по этому вопросу, поскольку COM определяет набор сценариев и правил, по которым могут выполняться ваши COM-объекты. ATL или нет, вам нужно знать эти правила. Что касается выполнения этого в .NET, это будет проще, но вы получите зависимость от . NET framework, который может быть или не быть приемлемым в соответствии с вашими требованиями.
Ответ №2:
Xarzu — Было бы полезно узнать, что вы хотите сделать. Если вы хотите создать компонент, который может использовать преимущества функций Windows Server, таких как транзакции, объединение объектов в пул, службы безопасности или очереди, вы можете обойтись приложением COM (которое было бы написано как приложение библиотеки C #).
Если вы погружаетесь глубже и не используете Windows enterprise services, вы будете иметь дело с Visual C , как упоминал Аамир.
Просто хотел убедиться, что вы получаете ответ на правильный вопрос.