Delphi アプリケーションを実行した直後に、インストールされている MS Outlook のバージョンを確認します。これは、マシンに 2007 年以降の Outlook バージョンがある場合、アプリの動作が異なるためです。
また、時々クラッシュする Outlook アドインも作成しました。これらのクラッシュは、起動時に作成した Outlook インスタンスに関連していると思われます。
これらの ActiveX インスタンスを「よりソフトな方法」で作成する方法はありますか。OLE オブジェクトを作成すると、トレイ バーに "Outlook は別のアプリケーションで使用されています" というヒントのアイコンが表示されます。
どういうわけか私が達成したいのは、パラメーターが OLE オブジェクトの「よりスムーズな」使用を可能にするここで行われたのと同じです。wdDoNotSaveChanges
これは、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;