Und der Übersetzer vertippt sich:
'Ergebnis ist %f'
Bumm!
Texte mit Formatierungen aus anderen Quellen sind immer nett, wenn das Programm plötzlich verreckt.
(Übersetzung/Datenbank wo Texte durch user bearbeitet oder über eine Synchronisierung/Update nachgeladen werden)
Drum hab ich bei uns das Format überschrieben/überdeckt.
Der Code muß nur in eine
Unit die immer nach den SysUtils eingebunden wird.
Wenigstens "etwas" anzeigen und das Programm nicht abkratzen lassen.
Delphi-Quellcode:
function Format(const FormatStr: string; const Args: array of const): string;
begin
try
Result := SysUtils.Format(FormatStr, Args);
except
{Meldung ins Log, wenn sowas vorhanden}
Result := FormatStr; // oder Result := '[ERR] ' + FormatStr;
end;
end;
Oder zumindestens dem Entwickler etwas helfen, damit man gleich sieht bei welchem "kompletten" String es knallt.
Delphi-Quellcode:
function Format(
const FormatStr:
string;
const Args:
array of const):
string;
begin
try
Result := SysUtils.Format(FormatStr, Args);
except
on E:
Exception do begin
E.
Message := '
Fehler in Format-String >>' + FormatStr + '
<<' + sLineBreak + sLineBreak + E.
Message;
raise;
end;
end;
end;
Und das Gleiche für die Variante mit den FormatSettings.
Alternativ verwendet man niemals Format, sondern ruft eine eigene MyFormat auf.