Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#11

Re: Herausfinden, welche Excelversion genutzt werden kann

  Alt 14. Aug 2009, 19:08
Hallo,

Also es funktioniert nicht so ganz. Also bei mir funktionierts (D2k9), aber TurboDelphi meckert:
Zitat:
[Pascal Fehler] UWerkzeuge.pas(89): E2089 Ungültige Typumwandlung
Und zwar ist das in der ersten If-Bedingung und auch in der zweiten.
Delphi-Quellcode:
function GibExcelVersion : TExcelVersion;
var
  tmp : TGUID;
begin
  // Test auf MSO 2k3 / MSO 2k7
  Result := evKeine;
  if Succeeded(CLSIDFromProgID(PWideChar('Excel.Application.11'), tmp)) then
    Result := ev2003
  else if Succeeded(CLSIDFromProgID(PWideChar('Excel.Application.12'), tmp)) then
    Result := ev2007;
end;
Wenn man das aber "aufteilt" also etwa so:
Delphi-Quellcode:
var
  s : string;
  pw : PWideChar;
  i : Integer;
begin
  s := 'Excel.Application.11';
  pw := PWideChar(s);
  i := CLSIDFromProgID(pw, tmp);
  if Succeeded(i) then
Das liefert keinen Fehler, aber das liefert auch kein Succeeded.
Ich muss dazu sagen, dass die aufgeteilte Version so sein sollte, aber ich kann dafür meine Hand leider nicht ins Feuer legen

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat