Проблемы при использовании приложения через COM
От: alamar  
Дата: 23.12.05 14:49
Оценка:
Есть такое IDE для DSP — Code Composer Studio. Оно умеет общаться с DSP, у него есть COM-интерфейс. Пытаюсь его использовать. На .Net, ибо в C++ я совсем ниасилил использование COM.

Экспортировал type library в assembly. Подключил. Создаю объект.
CodeComposer.Application app = new CodeComposer.Application()
Если при этом программа не запущена, то она начинает запускаться, что отчетливо видно, но потом почему-то терминируется, а при попытках доступа к методам app возникает InvalidCastException — QueryInterface for interface IApplication failed. Вопросы:
— Почему это происходит? Произошла какая-то ошибка, и объект не создался?
— Как узнать, какая именно ошибка произошла? Как узнать статус объекта — создался и готов к работе/не создался/не готов?
— Пару раз оно все-таки отработало корректно, к методам можно было обращаться. Почему?
— Учитывая, что оно создает процесс, можно ли указать home dir и какие-нито другие параметры?

Если же при этом программа запущена, то
CodeComposer.Application app = new CodeComposer.Application()
успешно подцепляется к этой запущенной программе, и ей можно рулить методами. Вопросы:
— Как оно узнает, к какому именно процессу подцепляться? А мне можно по объекту узнать, к чему он прицеплен?
— Как потом отключиться от программы? Есть ли общий способ ее терминировать, когда больше не нужна?
— Как корректно запустить программу, подождать, пока она поднимется, и только тогда подцепиться? С учетом вопросов прошлого абзаца?

Заранее спасибо за ответы.

P.S. API этой штуки у меня нет, ориентируюсь только на названия классов/методов.
P.P.S. Просьба не пинать, с COM работаю первый раз в жизни. Нормальных док не нашел — все они какие-то детсадовские, "выберите компонент такой-то и бросьте на форму", а глубин процесса я пока не понимаю.
P.P.P.S. Где можно почитать хорошую статью про руление приложениями через COM-интерфейс?
Re: Проблемы при использовании приложения через COM
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 23.12.05 14:54
Оценка:
Здравствуйте, alamar, Вы писали:

A>Есть такое IDE для DSP — Code Composer Studio. Оно умеет общаться с DSP, у него есть COM-интерфейс. Пытаюсь его использовать. На .Net, ибо в C++ я совсем ниасилил использование COM.

.......
A>Заранее спасибо за ответы.

А не судьба в статьях RSDN про COM почитать?
Sic luceat lux!
Re[2]: Проблемы при использовании приложения через COM
От: alamar  
Дата: 23.12.05 15:12
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Здравствуйте, alamar, Вы писали:


A>>Есть такое IDE для DSP — Code Composer Studio. Оно умеет общаться с DSP, у него есть COM-интерфейс. Пытаюсь его использовать. На .Net, ибо в C++ я совсем ниасилил использование COM.

K>.......
A>>Заранее спасибо за ответы.

K>А не судьба в статьях RSDN про COM почитать?


Пролистал половину статей с многообещяющими названиями, так и не нашел ответа на волнующие меня вопросы Может, конечно, не там искал...

Хотелось бы узнать хотя бы пару ключевых слов по вопросам — почему может валиться процесс/вылезать QueryInterface failed (вот это — http://support.microsoft.com/?kbid=325699 — об этой проблеме?), и как правильно запустить-программу-и-присоединиться, если простой способ (просто создать объект) не работает.

Цитата оттуда:
After several successful calls, the server stub runs down.
Вот и интересуюсь, как узнать статус соединения с сервером. Он живой, или уже нет?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.