IronPython и создание экземпляров COM-объектов - PullRequest
3 голосов
/ 13 мая 2009

Я использую IronPython 2.0 в окне консоли SharpDevelop 3.1. Я пытаюсь сослаться на библиотеку Redemption CDO и использовать ее.

Стандартное использование библиотеки - создание экземпляра объекта RDOSession, а затем использование методов этого объекта для навигации по объектной модели RDO.

Я зарегистрировал библиотеку DLL Redemption COM и ссылался на нее из проекта, который создал сборку взаимодействия для него. В окне консоли IronPython я делаю следующее: импорт clr clr.AddReferenceToFileAndPath (r'd: \ SharpDevelop Projects \ TestPython \ TestPython \ obj \ Debug \ Interop.Redemption.dll ') Погашение импорта

Пока это работает. Следующим шагом будет получение объекта RDOSession и создание его экземпляра. Если бы это сработало, я бы так подумал:

session = Redemption.RDOSession ()

Однако, это дает ошибку: Ошибка типа: не удается создать экземпляры RDOSession

Итак, мой вопрос (или был): как создать экземпляр объекта, подобного RDOSession?

Однако я просто ответил на свой вопрос в попытке объяснить его. Я продолжу с ответом, поскольку, несмотря на то, что это кажется глупым, возможно, он будет полезен кому-то еще.

Когда я набрал строку «session = Redemption.RDOSession ()», всплывающая подсказка показала «RDOSession», а также «RDOSessionClass» прямо под ним. Я не знаю, как последний был сгенерирован, но это звучало как объект, который можно создать (если это слово).

>>> session = Redemption.RDOSessionClass ()

>>>

Вот и вот. Вызов метода Logon работал как чемпион для нового объекта сеанса.

Спасибо stackoverflow!

1 Ответ

0 голосов
/ 20 июля 2009

Вам необходимо использовать:

session = Redemption.RDOSessionClass()
...