IronPython和实例化COM对象

3
我正在使用SharpDevelop 3.1控制台窗口中的IronPython 2.0。我试图引用和使用Redemption CDO替代库。
该库的标准用法是实例化RDOSession对象,然后使用该对象上的方法来浏览RDO对象模型。
我已经注册了Redemption COM dll并从项目中引用它,这为其创建了一个互操作程序集。在IronPython控制台窗口中,我接下来执行以下操作: import clr clr.AddReferenceToFileAndPath(r'd:\SharpDevelop Projects\TestPython\TestPython\obj\Debug\Interop.Redemption.dll') import Redemption
到目前为止都很顺利。下一步将是获取RDOSession对象并实例化它。如果成功,我会这样做:
session = Redemption.RDOSession()
但是,这会导致错误: TypeError: Cannot create instances of RDOSession
所以我的问题是(或者说曾经是):如何实例化像RDOSession这样的对象?
然而,在我尝试解释它时,我自己回答了这个问题。我将继续回答,因为尽管这似乎有点愚蠢,但也许对其他人有用。
当我要输入“session = Redemption.RDOSession()”时,调用提示出现了“RDOSession”以及正好在其下面的“RDOSessionClass”。我不知道后者是如何生成的,但它听起来像是一个可实例化的对象。 >>> session = Redemption.RDOSessionClass() >>> 看哪。在新的会话对象上调用Logon方法就像冠军一样工作。
感谢stackoverflow!

太棒了。运行得很好,让我能够做一些非常酷的事情。 - Instance Hunter
1个回答

0

你需要使用:

session = Redemption.RDOSessionClass()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接