Früher war es mal System.VariantManager.VarToReal, aber die Deklaration gibt es zwar nocht, allerdings machen sie absolut garnichts. (nichtmal eine Fehlermeldung)
Delphi-Quellcode:
procedure GetVariantManager(var VarMgr: TVariantManager);
begin
FillChar(VarMgr, sizeof(VarMgr), 0);
end;
procedure SetVariantManager(const VarMgr: TVariantManager);
begin
end;
function IsVariantManagerSet: Boolean;
begin
Result := False;
end;
Nun ist es in VarUtils.VarR8FromStr zu finden und das wird mit VAR_LOCALE_USER_DEFAULT (aka LOCALE_USER_DEFAULT) aufgerufen. (wäre zu schön, wenn Variant immer mit der selben Sprache arbeiten würde ... überall)
Geht also doch nicht mehr auf FormatSettings zurück.
Somit müsste man also statt FormatSettings für den Prozess die Lokalisierung ändern.
(Delphi aktualisiert das FormatSettings dann entsprechend)
Oder du änderst in VarUtils die entsprechenden Übersetungsfunktionen. (musste auch erstmal suchen, wo das jetzt liegt, da man dem deprecated natürlich keinen Hinweistext mitgegeben hat.
)