在我的应用程序终止后,为什么我的Outlook邮件项目的窗口变得无法使用?

时间:2009-08-18 06:46:43

标签: vb6 outlook outlook-redemption

我有一个VB6应用程序,它使用Redemption的RDO在Outlook中创建和显示邮件项目。一切正常,除非我的应用程序终止我的应用程序最初创建和显示的每个邮件项目的窗口变得无法使用,即我无法从该窗口发送,保存或打印。

请求澄清:我使用GetDefaultFolder(olFolderDrafts).Items.Add创建项目,并在我附加文件后显示它们调用Display方法。用户必须明确发送该项目。

根据操作,我会收到不同的通用消息,例如“无法发送邮件”或“消息传递界面返回未知错误”。

我真的很绝望,因为我已经没想完了。

我尝试了什么:

  • 不同的登录方法:LogonMAPIOBJECT
  • 跳过Logoff
  • 使用GetObject代替CreateObject(对于Outlook实例)
  • 更新至最新的兑换版本

更多信息:

  • Outlook 2007存在问题,但同样的应用程序可以正常使用Outlook 2000。
  • 项目已正确保存,即如果我使用Outlook重新打开它,一切正常
  • 如果我使用普通的Outlook对象,一切都运行良好,所以它一定是我在使用Redemption时出错了。

编辑:我下载了OutlookSpy,在我的窗口变得无法使用后,每个非平凡的操作都会返回错误代码0x800706BA(RPC_S_SERVER_UNAVAILABLE)。我假设以某种方式关闭该Exchange邮件项目与Exchange服务器的连接。

  • 可能吗?
  • 我有什么办法可以防止这种情况发生吗?

更多观察结果:

  • 如果我将应用程序保留在内存中,则从Outlook打开同一邮件会打开一个新窗口。通常情况下,原始窗口只会被带到前台。
  • 使用Outlook 2000我显示的窗口具有其他OutlookSpy按钮。

编辑2009-11-17:如果有人有更多建议,我仍然感兴趣!

1 个答案:

答案 0 :(得分:0)

“创造和展示”有点模糊。您是否正在创建邮件并将其放入发件箱?你实际上是在发送消息吗?

  • 我会确保你在 最新版本的兑换。他们 有趣的相对沉默 更新。
  • 我会尝试直接连接到 MSFT API,禁用兑换, 看看这是否是你的原因 的问题。
  • 我会尝试与那些人交谈 建立救赎,看他们是否有 遇到了错误。

Outlook崩溃并不是什么大问题。或者说,这是一个大问题,但相对常见。无法处理邮件非常烦人。我遇到过之前被锁定过的消息。在某些情况下,我不得不将它们从发件箱移到其他文件夹中,然后将它们移回。有时这足以让他们出去。

祝你好运, 雅各布