Einzelnen Beitrag anzeigen

DelphiFan2008

Registriert seit: 4. Dez 2008
81 Beiträge
 
Delphi XE2 Starter
 
#419

AW: Google Maps über COM (Component Object Model)

  Alt 14. Sep 2013, 13:53
Hallo Thom,

habe das Framwork auf einem neuen Rechner eingerichtet.

Nach Start des Demos kam die Fehlermeldung ... kein gültiger Gleitkommawert ... bei Aufruf der Funktion HTMLPage. Die wird im Demo mit dem Parameter APIVersion = '' bzw. leerem String aufgerufen. In der Funktion StrToFloatDef kommt es dann zum Fehler.

Delphi-Quellcode:
function StrToFloatDef(const S: String; Default: Extended; DecimalSeparator: Char): Extended;
var
  OldDecimalSeparator: Char;
begin
  OldDecimalSeparator:={$IFDEF DELPHIXE_UP}FormatSettings.{$ELSE}SysUtils.{$ENDIF}DecimalSeparator;
  try
    {$IFDEF DELPHIXE_UP}FormatSettings.{$ELSE}SysUtils.{$ENDIF}DecimalSeparator:=DecimalSeparator;
    try
      Result:=SysUtils.StrToFloat(S);
    except
      Result:=Default;
    end;
  finally
    {$IFDEF DELPHIXE_UP}FormatSettings.{$ELSE}SysUtils.{$ENDIF}DecimalSeparator:=OldDecimalSeparator;
  end;
end;
Der Ersatz von Result:=SysUtils.StrToFloat(S); durch Result:=SysUtils.StrToFloatDef(S,0.0); vermeidet den Fehler.

Ist dies korrekt und ich frage mich warum der Fehler bei meinem alten Rechner nicht auftrat.

Gruß DelphiFan2008

Geändert von DelphiFan2008 (14. Sep 2013 um 13:57 Uhr)
  Mit Zitat antworten Zitat