Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#27

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 16. Aug 2009, 03:21
Delphi-Quellcode:
function ClassIDExists(const classID:WideString):Boolean;
var
  tmp : TGUID;
begin
  Result := Succeeded(CLSIDFromProgID(PWideString(classID), tmp));
end;
Weil der Übergabeparameter den Datentyp WideString hat.
WideString und PWideString sind kompatibel; der Compiler weiss wie er die Typumwandlung vornehmen muss.
String, genauer gesagt AnsiString und PWideString sind nicht kompatibel.
Untehalb D2009 gilt: String=AnsiString
Ab D2009 gilt: String=WideString (das ist der Grund weshalb PWideString('irgendein Text') erlaubt ist)
Bei den älteren Delphi Versionen nimmt der Compiler die Konvertierung zwischen String und WideString
beim Aufruf einer Funktion oder Procedure automatisch vor.
Nimm einfach obige Funktion und es funktioniert für alle Delphi Versionen.
fork me on Github
  Mit Zitat antworten Zitat