为了账号安全,请及时绑定邮箱和手机立即绑定

Domino 对象 COMException:“内存不足”

Domino 对象 COMException:“内存不足”

C#
智慧大石 2022-06-18 16:28:06
当我调用NotesDXLExporterClass.Export一个NotesDocumentClass具有非常大附件的对象时,我得到一个System.Runtime.InteropServices.COMException: 'Out of memory'异常。我希望通过设置来解决这个问题NotesDXLExporter.OmitRichtextAttachments,true但看起来这个属性不能通过 COM (1) 获得。我有什么选择来解决这个问题?注 4: NotesXMLProcessor在 COM 中没有实现。NotesDXLExporter并NotesDXLImporter实现ExitOnFirstFatalError, Log, and LogComment, 而不是继承它们。)编辑:当我打开C:\Program Files (x86)\IBM\Lotus\Notes\domobj.tlb并Oleview.exe查看NotesDXLExporterClass界面时,我只看到以下内容:[  uuid(29131437-2EED-1069-BF5D-00DD011186B7)]dispinterface NOTESDXLEXPORTER {    properties:        [id(0x00000bf6)        ]        VARIANT FORCENOTEFORMAT;        [id(0x00000bfa)        ]        VARIANT OUTPUTDOCTYPE;        [id(0x00000bfb)        ]        BSTR DOCTYPESYSTEM;        [id(0x00000f1e), readonly        ]        BSTR LOG;        [id(0x00000f1f)        ]        BSTR LOGCOMMENT;        [id(0x00000f20)        ]        VARIANT EXITONFIRSTFATALERROR;    methods:        [id(0x00000f28)]        void SETINPUT(VARIANT INPUT);        [id(0x00000f29)]        void SETOUTPUT(VARIANT OUTPUT);        [id(0x00000f2a)]        void PROCESS();};
查看完整描述

2 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

您链接到的文档(以及我的本地 Notes 帮助)并没有说它NotesDXLExporter.OmitRichtextAttachments在 COM 中不可用。您是否尝试使用该属性并收到错误?

如果NotesDXLExporter.OmitRichtextAttachments不可用,您是否能够在相关的 Domino 数据库(或为此目的创建的另一个数据库)中开发一个充当中间人的代理?

我认为代理可以通过 获取目标文档的注释 ID NotesAgent.Run,并将该文档的 DXL 导出到另一个临时文档中的字段(如果 DXL 超过 32kB,则可能必须是富文本)。您的代码应通过 COM 调用该代理,获取生成的临时文档,从其字段中读取 DXL,然后删除临时文档。
这似乎过于复杂,但这是我想到的唯一解决方案。


查看完整回答
反对 回复 2022-06-18
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

尝试将您的代码作为 LotusScript 代理运行。

如果失败,则问题出在类中,而不是在 COM 实现中,除了尝试更新版本的 Notes/Domino 之外,您无能为力。

如果可行,一个潜在的解决方法是让您的 COM 代码调用服务器上的 LotusScript 代理来完成这部分工作。


查看完整回答
反对 回复 2022-06-18
  • 2 回答
  • 0 关注
  • 138 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信