【问题标题】:Can't create Lotus Notes objects无法创建 Lotus Notes 对象
【发布时间】:2015-07-10 08:58:26
【问题描述】:

我有 IBM Notes 9 和 Visual Studio 2010。我正在尝试通过以下两种方式创建一个 NOTESSESSION 实例

http://www.ibm.com/developerworks/lotus/library/domino-msnet/index.html http://www.codeproject.com/Articles/18517/Lotus-Notes-Integration-with-Microsoft-NET-Platfor

但得到错误'New' cannot be used on an interface。在尝试了我能想到的所有排列之后,仍然没有运气。我需要做些什么来创建莲花对象?

Dim notesSession As New lotus.NOTESSESSION

参考 Lotus Notes 自动化类 Interop.lotus.dll

【问题讨论】:

  • 既然这是互操作,首先想到的是微软如何与 Office 进行互操作。他们将有一个名称的接口和一个名称完全相同的类,并附加单词Class。我以前从未使用过 Domino,但有没有 NotesSessionClass
  • 我也确实找过这个。据我所知,导入的莲花命名空间中只有接口。键入 new 后,命名空间甚至不会在上下文中显示。

标签: vb.net lotus-notes


【解决方案1】:

在您引用的 IBM.com 文章中,在图 1 中,请注意它列出了“Lotus Notes 自动化类”和“Lotus Domino 对象”。看起来您选择了“Lotus Notes 自动化类”,但这些是 OLE 类,并且引用显然是作为接口生成的。您需要第二个“Lotus Domino 对象”,它是 COM 类。这些可以按照文档中反映的方式进行实例化。

如果您在引用对话框中没有看到“Lotus Domino 对象”,则可能是注册问题,可以使用命令 regsvr32 nlsxbe.dll(从 Notes 程序发出)解决文件夹)。

但是,您可能需要注意,Notes COM 类在 Win64 上不受支持(请参阅此IBM technote 的底部以确认这一点。)如果您没有发现它们已注册,那可能是为什么。它们大部分都有效,但有一些已知问题 - 例如,返回设计元素集合的 NotesDatabase 方法。但是,如果您需要确保只使用供应商支持的 API,您将不得不查看处理 Notes 数据的其他可用方法。

【讨论】:

  • 我无法添加您提到的参考,因为我正在使用针对旧 .NET 框架的 Excel 加载项。但是,迁移到更新的框架使这对我来说可以正常工作。谢谢!
  • 嗨!感谢您提出这个问题,我在Windows10/Excel2016/VisualBasic7.1中遇到了大致相同的问题。我确实导入了 Lotus Domino 对象,但在执行 Set Session = CreateObject("Lotus.NotesSession") 时收到错误 ActiveX component can't create object。您是如何更新库的?谢谢
  • 你的项目是 32 位还是 64 位?
【解决方案2】:

我们有一个Interop.Domino.dll的引用,并使用下面的类来实例化:

Public NotInheritable Class LotusNotesSession
    Implements IEMailSession

    Private m_session As NotesSession

    Public Sub New(ByVal password As String)
        m_session = New NotesSession
        m_session.Initialize(password)
    End Sub
End Class

【讨论】:

  • 我的机器上安装了 Notes 9 (Windows 8)。你知道在哪里可以找到 Interop.Domino.dll 吗?
  • 据我所知,它与 Notes Client 一起安装。
  • 我的 Notes 8.5 安装附带了它,但在另一台机器上安装 Notes 9 时没有。已经找到了,谢谢。
  • 嗨! @AndrewMortimer 请您说得更具体些。这是否意味着 Interop.Domino.dll 文件是必需的,但 Lotus Notes 9 没有提供?如果是,我是否需要从旧版本中复制它才能将其粘贴到我的计算机中?谢谢
猜你喜欢
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多