Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Office 2010 - Click-To-Run - Installation erkennen

  Alt 8. Feb 2014, 12:13
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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 8. Feb 2014 um 12:26 Uhr)
  Mit Zitat antworten Zitat