Я использую IronPython 2.0 в окне консоли SharpDevelop 3.1. Я пытаюсь сослаться на заменяющую библиотеку Redemption CDO и использовать ее.
Стандартное использование библиотеки - создание экземпляра объекта RDOSession, а затем использование методов этого объекта для навигации по объектной модели RDO.
Я зарегистрировал DLL Redemption COM и сослался на нее из проекта, который создал для нее сборку взаимодействия. Затем в окне консоли IronPython я делаю следующее: import clr clr.AddReferenceToFileAndPath (r'd: \ SharpDevelop Projects \ TestPython \ TestPython \ obj \ Debug \ Interop.Redemption.dll ') import Redemption
Пока это работает. Следующим шагом будет получение объекта RDOSession и его создание. Если бы это сработало, я бы подумал, как это сделать:
session = Redemption.RDOSession ()
Однако это дает ошибку: TypeError: невозможно создать экземпляры RDOSession.
Итак, мой вопрос (или был): как мне создать экземпляр объекта, такого как RDOSession?
Однако я просто ответил на свой вопрос, пытаясь объяснить это. Я продолжу с ответом, поскольку, несмотря на то, что это кажется почти глупым, возможно, это будет полезно кому-то еще.
Когда я ввел строку «session = Redemption.RDOSession ()», в подсказке появилось «RDOSession», а также «RDOSessionClass» прямо под ним. Я не знаю, как последний был сгенерирован, но это звучало как экземпляр объекта (если это слово).
>>> session = Redemption.RDOSessionClass ()
>>>
И вот. Вызов метода Logon работал как чемпион для нового объекта сеанса.
Спасибо, stackoverflow!