外部名称上的LotusScript类型不匹配

时间:2014-01-15 20:25:33

标签: lotus-notes lotusscript

Lotus Notes 8.5.3,我遇到了一个无法获取表单来加载脚本库的问题。我得到“类型不匹配外部名称:RECEIPT”(其中“收据”是我的脚本库中的类型之一)。

我试过了: - 编辑和重新保存表格
- 编辑和重新保存图书馆
- 项目>清洁,重建一切
- 关闭并重新启动注意事项
- 关闭并重新启动计算机

没有任何帮助。

Notes帮助说这意味着自编译该类型的客户端以来,类型已更改。我原以为重建所有东西(包括具有Use语句的表单)都可以解决它,但事实并非如此。

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

你可以尝试:

  • 在Designer客户端中打开数据库,然后从“工具”菜单中选择“重新编译所有LotusScript”。

  • 将代码复制出脚本库,删除它,然后创建一个新的脚本库并重新粘贴代码。

答案 1 :(得分:0)

我会尝试将使用RECEIPT的脚本直接复制到库中,并获得更清晰的错误消息。您可以在复制数据库(不是原始数据库)中尝试它。

我记得在Lotus的旧版本中,表单对库很疯狂。但我怀疑是这种情况。

我怀疑你使用的是与Variant不同类型的数组,并将其作为变量处理(或反之亦然)。

在Lotus脚本中有CVar转换为Variant,

如果是对象数组,您可能需要将从数组中检索到的对象强制转换为Object,然后将其传递给函数(如果它有一个对象作为参数)。

答案 2 :(得分:0)

Form ReceiptEntry,ScriptLibrary ReceiptJournal,ScriptLibrary ReceiptJournalUI

如果ReceiptJournalUI使用“ReceiptJournal”,您的表单不得同时使用ReceiptJournal和ReceiptJournalUI。

我在加载ReceiptJournal后试图加载ReceiptJournalUI。 (我认为.Domino Designer很难弄清楚实际的操作顺序。)

编辑(原作者):上述内容不正确。最终解决方案:当外部名称上的类型不匹配时,请从表单中注释相关库的Use语句,然后尝试保存它。首次使用库中定义的类时,它将失败,并阻止您保存表单。但它也将清除缓存的定义,这将允许您取消注释Use语句并成功保存表单。