1

开发一个插件,将 Outlook 中的事件与外部系统同步。

但是,Outlook 经常在以下行崩溃:

m_Event->get_ResponseStatus( &olAppointmentResponseStatus );

或 m_Event->GetOrganizer( &spAddrEntry );

对于同一个事件,一次运行它有效,另一次运行它崩溃,这里没有可预测的模式。

同时,其他属性工作正常,如下所示:

m_Event->get_ReminderSet( &bReminderSet );

m_Event 声明为:CComPtr m_Event;

看起来问题发生在事件不是绝对正确时,例如当它的组织者状态未知时。我认为我能够处理(甚至修复)Outlook 没有崩溃的此类事件。

显然,try catch (...) 没有帮助,因为访问冲突不是 C++ 异常。有什么方法可以让 Outlook 在读取事件属性时不会崩溃?也许,某种“启用安全模式”,或者其他什么..

另一个问题为什么会出现坏事件,因为我的插件只通过 Outlook API 创建事件(这是否意味着 Outlook 可以保存一个事件,然后它无法在不崩溃的情况下读取?)但理想情况下,我想处理它可能遇到的任何事件Outlook 数据库。

4

0 回答 0