运行我的 Delphi 应用程序后,我检查已安装的 MS Outlook 版本,因为如果机器中的 Outlook 版本高于 2007,我的应用程序的工作方式会有所不同。
我还写了一个有时会崩溃的 Outlook 插件。我怀疑这些崩溃与我在启动时创建的 Outlook 实例有关。
有没有办法以“更柔和的方式”创建这些 ActiveX 实例。当我现在创建 OLE 对象时,我在托盘栏中看到一个图标,其提示显示“Outlook 正在被另一个应用程序使用”,如果可以删除它,我也会看到我的问题消失了。
不知何故,我想实现的与此处相同,其中wdDoNotSaveChanges
参数允许“更顺畅”地使用 OLE 对象。
这是我用来检查 Outlook 版本的代码:
var
OutlookApp: OLEVariant;
Version : String;
begin
{ Create the OLE Object }
Try
OutlookApp := CreateOLEObject('Outlook.Application');
Version := OutlookApp.version;
OutlookVersion := StrToint(SubstrEx(1,Version,'.'));
OutlookApp := VarNull;
except
on E: Exception do
begin
OutlookVersion := -1;
end;
End;