2008-12-22 101 views
3

我正在实施用于Outlook的COM加载项。我使用IDTExtensibility2。我不确定这是否是执行COM加载项的最佳方式,但我无法更改。如何正确地为Office COM加载项实现IDTExtensibility2接口?

该接口定义了五种方法:OnConnection,OnStartupComplete,OnAddInsUpdate,OnBeginShutdown,OnDisconnection。

我需要执行以下操作:从文件

  1. 加载配置文件数据
  2. 加载注册表数据
  3. 开始新的会话
  4. 创建* .pst文件
  5. 订阅浏览器事件
  6. 连接到Internet服务器以获得一些数据
  7. 在主菜单
  8. 创建菜单项创建一个工具栏
  9. 添加/删除Outllok几件事情(在* .pst文件级)

请指教,我所应该做的是什么时候?

  • 我需要在OnConnection方法中执行什么?
  • 只有当OnStartupComplete调用时才允许什么?
  • 在OnBeginShutdown/OnDisconnection期间,我需要什么资源来释放处理?

回答

3

请注意1,2和6不是Outlook插件特定的任务。

3不需要:作为插件,您不会创建会话 - 您可以通过实施OnConnection方法与现有的会话建立连接。

为4和9,我建议使用RDO:http://dimastr.com/redemption/ (也可用于3,如果你真的需要另一个会话)

对于5,7和8,我建议使用ADX:http://www.add-in-express.com/add-in-net/
(你赢了如果你这样做的话,实际上你不必担心IDTExtensibility2

OnConnection你可以在这里获得你对Application接口的引用,从中你可以得到其他的东西。

OnStartupComplete是您可以放置​​所有初始化代码的地方。

OnDisconnection是您应该释放在会话期间可能累积的所有剩余OOM引用的位置,即从您通过OnConnection收到的初始Application引用导出的所有内容。

相关问题