2013-04-18 1 views
0

Недавно я работал над внешним .exe для связи с AutoCAD. Поскольку это был внешний .EXE, мне пришлось работать с COM, чтобы получить то, что я хотел. (Иначе я мог бы использовать .NET API, который (на мой взгляд) намного лучше).COM Errors Visual Studio 2010

В любом случае, я продолжаю получать ошибки COM Interop (Звонок был отклонен Callee), и у меня много проблем с этим. Я мог бы использовать таймеры, но иногда он будет ждать, или в ожидании конкретной ситуации. Кроме того, это не лучшее решение, если мне нужно использовать более медленный компьютер.

ответ

0

решение от Microsoft:

  1. Добавьте следующий класс в приложение.
  2. Добавить ссылку на "Microsoft Development Environment 8.0." Этот добавляет ссылки на EnvDTE и EnvDTE80 на ваше решение.

    Добавить ссылку на System.Windows.Forms.

  3. В коде создайте экземпляр EnvDTE80, как указано в следующем примере: .
  4. Call Message.Register для обработки ошибок потоков.
  5. Назовите свой код автоматизации, как обычно.
  6. Когда код автоматизации завершен, вызовите Message.Revoke, чтобы удалить обработчики ошибок потока.

http://msdn.microsoft.com/en-us/library/vstudio/ms228772(v=vs.100).aspx

Импорт

Для того, чтобы использовать код управления ошибками (один раз добавляется класс) нам нужно будет добавить импорт таких как:

Imports WindowsApplication1.ConsoleApplication2 

 Смежные вопросы

  • Нет связанных вопросов^_^