Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Office 2010 - Click-To-Run - Installation erkennen (https://www.delphipraxis.net/172845-office-2010-click-run-installation-erkennen.html)

Sir Rufo 8. Feb 2014 12:13

AW: Office 2010 - Click-To-Run - Installation erkennen
 
Generell stellt sich mir die Frage, was man mit dieser Information denn nun anfangen möchte?

In den seltensten Fällen, möchte man ja nur diese Versionsnummer anzeigen.
Der Grund für die Abfrage ist mir schon klar, denn jede Version hat so seine Eigenarten, die man dann auch berücksichtigen muss.

Aber will ich denn wirklich in dem produzierenden Code ständig diese Fallunterscheidungen machen?
Da wäre es doch besser ich habe eine abstrakte Klasse, die für die Erstellung eines Dokuments zuständig ist.
Für jede Office- Version gibt es eine Ableitung (insofern das denn auch notwendig ist).

Dann hole ich mir über eine Factory abhängig von der Office-Version eine passende Instanz und benutze diese. Diese Factory kann dann eine Exception werfen, wenn es keine oder keine unterstützte Office-Version findet. Alternativ könnte aber auch eine Instanz geliefert werden, die dann z.B. ein RTF-Dokument (oder was auch immer) erstellt.

BTW

Die beste Methode um die installierte Version zu ermitteln ist:
Delphi-Quellcode:
function GetInstalledWordVersion : integer;
var
  LWord : OleVariant;
begin
  LWord := CreateOleObject( 'Word.Application' );
  try
    Result := LWord.Version;
  finally
    LWord := Unassigned;
  end;
end;
PS: Die "Click-To-Run" können per OLE-Automatisierung nicht angesprochen werden


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz