IronPython 和实例化 COM 对象

标签 ironpython sharpdevelop outlook-redemption

我在 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()

然而,这给出了一个错误: 类型错误:无法创建 RDOSession 的实例

所以我的问题是(或曾经是):如何实例化像 RDOSession 这样的对象?

但是,我只是在尝试解释它时回答了我自己的问题。我会继续回答这个问题,因为尽管这样做似乎很愚蠢,但也许对其他人有用。

当我输入“session = Redemption.RDOSession()”行时,调用提示在其正下方显示“RDOSession”和“RDOSessionClass”。我不知道后者是如何生成的,但它听起来像是一个可实例化的(如果这是一个词的话)对象。

>>> session = Redemption.RDOSessionClass()

>>>

你瞧。调用 Logon 方法在新 session 对象上表现出色。

感谢计算器!

最佳答案

你需要使用:

session = Redemption.RDOSessionClass()

关于IronPython 和实例化 COM 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/858230/

相关文章:

vb.net - 通过 vb.net 中的兑换同步到 Outlook 2010

c# - 将多封邮件移动到不同商店的文件夹中

.net - tableLayoutPanel 列宽

c# - IronPython clr 无法使用 AutoCAD API 的 dll

c# - 从 C# 代码执行 IronPython 脚本

c# - 适用于 Windows 上 Mono 的良好 IDE

c# - 无法访问的代码在哪里?

python - 如何在 .NET-Core 应用程序中使用 Python?

c# - 从 resx 文件中读取字符串 sharpdevelop c#

email - 如何在显示邮件时知道邮件是否已发送或保存?