COM-объект нескольких экземпляров - PullRequest
2 голосов
/ 17 февраля 2012

Я использую написанный на C ++ COM-объект на C #.Я просто создаю экземпляр через "новый".Мне нужно множество таких объектов.Но каждое другое «новое» не создает новый экземпляр, а только дает ссылку на первый объект.Вот почему у меня есть беспорядок с данными.Можно ли каждый раз получать новый экземпляр?Или я должен реализовать IClassFactory в моем COM, чтобы создать экземпляр не синглтон?Я сделал COM с мастером в VC 2010 с поддержкой ATL.И у меня есть проблема, где и как реализовать IClassFactory.

1 Ответ

1 голос
/ 18 февраля 2012

Вам необходимо реализовать IUnknown , IClassFactory .В зависимости от того, что вы делаете, вы также можете реализовать IDispatch и IErrorInfo .Это довольно сложно, поэтому я не буду вдаваться в подробности.Следующие три статьи должны охватывать почти все, что вам нужно:

  1. Пошаговое руководство COM *
  2. Понимание классической совместимости COM с .NETПриложения
  3. Основы объектов ATL COM
...