Alle Funktionen, die z.B. mit den
FormatSettings
arbeiten sind
nicht threadsafe, denn der interne Aufruf sieht so aus:
Delphi-Quellcode:
function FloatToStr(Value: Extended): string;
begin
Result := FloatToStr(Value, FormatSettings); // GLOBALE Variable FormatSettings wird benutzt
end;
Und eine
globale Variable ist nun mal
nicht threadsafe (es gibt da Ausnahmen, aber die wollen wir mal aussen vor lassen), denn in diese kann man jederzeit von überall einfach reingreifen und verändern.
Korrekt wäre es einem Thread eine eigene
FormatSettings
Variable zu verpassen, die dann innerhalb des Threads verwendet wird.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)