为什么应用程序终止后 Outlook 邮件项目的窗口变得不可用?
我有一个 VB6 应用程序,它使用 Redemption 的 RDO 在 Outlook 中创建和显示邮件项目。 一切正常,除非我的应用程序终止最初由我的应用程序创建和显示的每个邮件项目的窗口变得不可用,即我无法从该窗口发送、保存或打印。
要求澄清:我使用 GetDefaultFolder(olFolderDrafts).Items.Add
创建项目,并在附加文件后调用 Display
方法显示它们。 用户必须明确发送该项目。
根据操作,我会收到不同的通用消息,例如“无法发送邮件”或“消息传递接口返回未知错误”。
我真的很绝望,因为我已经没有想法了。
我尝试过:
- 不同的登录方法:
Logon
和MAPIOBJECT
- 跳过
Logoff
- 使用
GetObject
而不是CreateObject
(对于 Outlook 实例) - 更新到最新的兑换版本
更多信息:
- Outlook 2007 存在问题,但相同的应用程序在 Outlook 2000 中工作正常。
- 该项目已正确保存,即如果我重新打开使用 Outlook 一切正常
- 如果我使用普通 Outlook 对象,一切也正常,所以这一定是我在救赎方面做错了。
编辑:我下载了OutlookSpy,在我的窗口变得无法使用后,每个非- 简单操作返回错误代码 0x800706BA (RPC_S_SERVER_UNAVAILABLE
)。 我假设该特定邮件项目与 Exchange 服务器的连接以某种方式关闭。
- 那可能吗?
- 我能做些什么来防止这种情况发生吗?
更多观察结果:
- 如果我将应用程序保留在内存中,则从 Outlook 打开同一邮件项目会打开一个新窗口。 通常,原始窗口将被带入前台。
- 使用 Outlook 2000,我显示的窗口没有有附加的 OutlookSpy 按钮。
编辑2009-11-17:如果有人有更多建议,我仍然感兴趣!
I have a VB6 application which creates and displays mail items in Outlook using Redemption's RDO. Everything works except after my application terminates the window of every mail item originally created and displayed by my application becomes unusable, i.e. I cannot send, save or print from that window.
Requested clarification: I create the items using GetDefaultFolder(olFolderDrafts).Items.Add
and display them calling the Display
method after I attached a file. The user has to send the item explicitly.
Depending on the action I get different generic messages, like "could not send mail" or "the messaging interface returned an unknown error".
I'm really desperate because I've run out of ideas.
What I've tried:
- Different logon methods:
Logon
andMAPIOBJECT
- Skipping
Logoff
- Using
GetObject
instead ofCreateObject
(for the Outlook instance) - Updating to the latest Redemption version
Some more information:
- The problem exists with Outlook 2007, but the same application works fine with Outlook 2000.
- The item is correctly saved, i.e. if I re-open it using Outlook everything works
- If I use plain Outlook objects everything works fine, too, so it must be something I'm doing wrong with Redemption.
EDIT: I downloaded OutlookSpy and after my window becomes unusable, every non-trivial action returns the error code 0x800706BA (RPC_S_SERVER_UNAVAILABLE
). I assume that somehow the connection to the Exchange server is closed for that specific mail item.
- Is that possible?
- Is there anything I can do to prevent that from happending?
More observations:
- If I keep my application in memory, opening the same mail item from Outlook opens a new window. Normally the original window would be just brought into the foreground.
- Using Outlook 2000 the window I display does not have the additional OutlookSpy buttons.
EDIT 2009-11-17: If anyone has some more suggestions I'm still interested!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
“创建和显示”有点模糊。 您是否正在创建邮件并将其放入发件箱? 你真的在发送消息吗?
最新版本的救赎。 他们
有有趣的相对沉默的
更新。
MSFT API,禁用兑换,
看看这是否是你的原因
问题。
建立救赎,看看他们是否有
遇到错误。
Outlook 崩溃并不是什么大问题。 或者,更确切地说,这是一件大事,但相对常见。 无法处理邮件是非常烦人的。 我以前遇到过被锁定的消息。 在某些情况下,我不得不将它们从发件箱移到其他文件夹中,然后再移回来。 有时这足以让他们出去。
"creates and displays" is a little vague. Are you creating mail messages and putting them in the outbox? Are you actually sending the messages?
latest version of redemption. They
have interesting relatively silent
updates.
the MSFT APIs, disabling redemption,
to see if that is the cause of your
issues.
build redemption to see if they have
encountered the error.
Outlook crashing is not a big deal. Or, rather, it is a big deal but is relatively common. Not being able to handle mail is pretty darn annoying. I have run into messages that are locked before. On some cases, I have had to move them away from the outbox into some other folder and then move them back. Sometimes that is enough to get them to go out.