ICollectionPtr COM - PullRequest
       12

ICollectionPtr COM

0 голосов
/ 26 апреля 2011

У меня есть проблема, с которой я боролся в течение дня или около того, и мне интересно, может ли кто-нибудь быть в состоянии помочь:

Я пытаюсь использовать ActiveMQ-NMS для удаления сообщений через COM вприложение C ++.Мне удалось собрать исходный код и переопределить флаг 'ComVisible', чтобы экспортировать все типы в сборке через RegAsm (я получил предупреждения об этом и о классе 'Atomic', но я не думаю, что это проблема, с которой я сталкиваюсь)на данный момент).

В рамках RegAsm я создал файл .tlb, который я использую в #import в клиенте C ++.Тем не менее, я получаю различные ошибки во время компиляции.Такие вещи, как:

error C2146: syntax error : missing ';' before identifier 'Keys'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 

По сути, похоже, что такие вещи, как ICollectionPtr (и многие другие) недоступны.Может ли кто-нибудь помочь мне в решении этих проблем?По сути, я собираюсь зарегистрировать сборку .net ActiveMQ-NMS в качестве COM-совместимого компонента, а затем использовать его из C ++ ...

1 Ответ

1 голос
/ 27 апреля 2011

Если нет других причин использовать COM и NMS, почему бы просто не использовать клиент ActiveMQ-CPP?Тогда вы сможете избежать всей сложности COM.ActiveMQ-CPP находится здесь :

...