我有一个 VB6 应用程序,它使用 Redemption 的 RDO 在 Outlook 中创建和显示邮件项目。一切正常,除非我的应用程序终止了最初由我的应用程序创建和显示的每个邮件项目的窗口变得不可用,即我无法从该窗口发送、保存或打印。
要求澄清:我在附加文件后使用GetDefaultFolder(olFolderDrafts).Items.Add
并显示它们调用方法来创建项目。Display
用户必须明确发送项目。
根据操作,我会收到不同的通用消息,例如“无法发送邮件”或“消息接口返回未知错误”。
我真的很绝望,因为我已经没有想法了。
我试过的:
- 不同的登录方法:
Logon
和MAPIOBJECT
- 跳过
Logoff
- 使用
GetObject
代替CreateObject
(对于 Outlook 实例) - 更新到最新的兑换版本
更多信息:
- Outlook 2007 存在此问题,但同一应用程序在 Outlook 2000 中运行良好。
- 该项目已正确保存,即如果我使用 Outlook 重新打开它,一切正常
- 如果我使用普通的 Outlook 对象,一切都可以正常工作,所以这一定是我在使用 Redemption 时做错了。
编辑:我下载了OutlookSpy,在我的窗口变得不可用后,每个重要的操作都返回错误代码 0x800706BA ( RPC_S_SERVER_UNAVAILABLE
)。我假设该特定邮件项与 Exchange 服务器的连接以某种方式关闭。
- 那可能吗?
- 我能做些什么来防止这种情况发生吗?
更多观察:
- 如果我将我的应用程序保存在内存中,从 Outlook 中打开相同的邮件项目会打开一个新窗口。通常,原始窗口只会被带到前台。
- 使用 Outlook 2000,我显示的窗口没有额外的 OutlookSpy 按钮。
编辑 2009-11-17:如果有人有更多建议,我仍然感兴趣!