我在SharpDevelop 3.1控制台窗口中使用IronPython 2.0。我正在尝试引用并使用Redemption CDO替换库。
库的标准用法是实例化RDOSession对象,然后使用该对象上的方法来浏览RDO对象模型。
我已经注册了Redemption COM dll并从一个项目中引用它,该项目为它创建了一个互操作程序集。在IronPython控制台窗口中,我然后执行以下操作: 进口clr clr.AddReferenceToFileAndPath(r'd:\ SharpDevelop Projects \ TestPython \ TestPython \ _ obj \ Debug \ Interop.Redemption.dll') 进口赎回
到目前为止这是有效的。下一步是获取RDOSession对象并实例化它。如果它奏效了,那就是我想的那样:
session = Redemption.RDOSession()
但是,这会出错: TypeError:无法创建RDOSession的实例
所以我的问题是(或者是):如何实例化像RDOSession这样的对象?
然而,我只是在试图解释它时回答了我自己的问题。我会继续回答,因为尽管这样做几乎看起来很愚蠢,但也许对其他人有用。
当我输入“session = Redemption.RDOSession()”行时,calltip在它下方出现了“RDOSession”以及“RDOSessionClass”。我不知道后者是如何生成的,但它听起来像是一个可实例化的(如果是一个单词)对象。
>>> session = Redemption.RDOSessionClass()
>>>
罗,看哪。调用Logon方法就像新会话对象的冠军一样。感谢stackoverflow!
答案 0 :(得分:0)
您需要使用:
session = Redemption.RDOSessionClass()