有没有一种方法可以处理 RDML 中 COM 对象的错误?

Posted

技术标签:

【中文标题】有没有一种方法可以处理 RDML 中 COM 对象的错误?【英文标题】:Is there a method for handling errors from COM objects in RDML? 【发布时间】:2010-09-06 03:08:34 【问题描述】:

在 RDML 中是否有处理 COM 对象错误的方法?例如,当调用像PasteSpecial 这样的Word VBA 方法时,会返回错误并且LANSA 应用程序崩溃。我在文档中找不到任何可以处理这些错误的内容。

实际上,错误处理通常是 LANSA 和 RDML 的弱点,但这是另一个话题。

【问题讨论】:

【参考方案1】:

我对 LANSA 等几乎一无所知。在 Google 工作了几分钟后,我确信,正如您所说,错误处理并不是一个强项。在 lansa.us 网站上有一篇关于 remote debugging 的文章,总之,它可能会朝着正确的方向发展。

有人想知道 DEF_BREAK 是否会起作用。这是a longish post about using DEF_BREAK。如果 DEF_BREAK 与 #COM_* 函数挂钩,这可能是一种可能性。请原谅我在这方面的幼稚。

我还在LANSA Tech Exchange 找到了一些代码。我曾希望有一些明显的东西,但没有。比我更了解 LANSA,你可能会发现一些东西。

【讨论】:

【参考方案2】:

在我的公司,我们能够通过 LANSA 的 ActiveX 部分处理通信 API。供应商将他的 API 嵌入到 ActiveX 组件中。我们在 LANSA 应用程序中使用了这个组件。这工作正常且稳定。

也许您也可以将 Microsoft API 嵌入到 ActiveX 组件中?我不知道 Microsoft Word 是否可以作为 ActiveX 组件来处理。

【讨论】:

以上是关于有没有一种方法可以处理 RDML 中 COM 对象的错误?的主要内容,如果未能解决你的问题,请参考以下文章

c# foreach(对象中的属性)...有没有一种简单的方法可以做到这一点?

面向对象三大特征

有没有一种方法可以使用单个类来处理具有两个不同结构记录的数组?

有没有一种简单的方法可以将数据库 SQL 脚本文件分解为每个对象一个文件?

如何在 C++ 中序列化对象?

函数式编程一种基于Optional的优雅处理NPE的方法