Zitat von
PeterPanino:
Delphi-Quellcode:
function ProgIDExists(const ProgID: WideString): Boolean;
var
Tmp: TGUID;
begin
Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), Tmp));
end;
function IsAdobePdfReaderInstalled: Boolean;
begin
Result := ProgIDExists('AcroPDF.PDF');
end;
Rein prinzipiell: Welches der beiden Beispiele wäre empfehlenswerter?
Die 2. Variante ist besser!!
Begründung:
Es wird nicht versucht, den PDF-Reader tatsächlich zu erzeugen, nur um ihn 5 Millisekunden später wieder zu schliessen. Es sollte klar sein, dass die 2. Variante wesentlich weniger Resourcen (
RAM, Proz.Zyklen) benötigt, da nur überprüft wird, ob die Prog-ID vorhanden ist.