AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ändern von FormatSettings verhindern

Ein Thema von BigAl · begonnen am 3. Feb 2024 · letzter Beitrag vom 3. Feb 2024
Antwort Antwort
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#1

Ändern von FormatSettings verhindern

  Alt 3. Feb 2024, 08:25
Hallo zusammen,

folgendes Problem:

Ich habe eine Delphi 12 Applikation, welche für unbegrenzt Zeit mit festen FormatSettings laufen muss. Ich setze diese ganz zu Beginn im Konstruktor des Hauptformulars. Nun wird die Variable nach unbestimmter Zeit auf die in Windows eingestellten Werte zurückgesetzt. Ich schätze Windows sendet da irgendeinen Trigger "Format Settings changed" oder so. Die Applikation darf aber zu keiner Zeit die FormatSettings von Windows verwenden sondern muss die von mir festgelegten Werte berücksichtigen.

Wie kann ich verhinden dass FormatSettings vom System verändert wird?

Update: Reicht es "Application.UpdateFormatSettings := False" zu setzen?
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)

Geändert von BigAl ( 3. Feb 2024 um 08:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Ändern von FormatSettings verhindern

  Alt 3. Feb 2024, 09:47
Update: Reicht es "Application.UpdateFormatSettings := False" zu setzen?
Laut Beschreibung im DocWiki ja.

Besser wäre natürlich, wenn Dein Programm nicht darauf angewiesen wäre, die Einstellungen zu ändern. Die meisten Funktionen, die diese verwenden, haben ja einen Overload, dem man einen eigenen TFormatSettings Parameter übergeben kann. Den erstellt man einmal als globale Variable (oder weil sich das besser anhört: Als Singleton) und verwendet ihn überall.
Thomas Mueller

Geändert von dummzeuch ( 3. Feb 2024 um 09:50 Uhr)
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ändern von FormatSettings verhindern

  Alt 3. Feb 2024, 11:09
Update: Reicht es "Application.UpdateFormatSettings := False" zu setzen?
Laut Beschreibung im DocWiki ja.

Besser wäre natürlich, wenn Dein Programm nicht darauf angewiesen wäre, die Einstellungen zu ändern. Die meisten Funktionen, die diese verwenden, haben ja einen Overload, dem man einen eigenen TFormatSettings Parameter übergeben kann. Den erstellt man einmal als globale Variable (oder weil sich das besser anhört: Als Singleton) und verwendet ihn überall.
Bei dem Programm handelt es sich im ein System mit hunderten (oder eher tausenden) von Aufrufen, in den Floats, Dates, Times usw. dargestellt werden. Genau von diesem Programm erwarten die Kunden eine spezielle Ausgabe, unabhängig vom Land (selbst in USA möchten sie TT MMM YYYY). Und das unabhängig vom System auf dem es läuft. Es gibt auch einige Threads, die mit den Formaten arbeiten. Ich denke da alles umzubauen wäre mit Kanonen nach Spatzen geschossen und macht die Lesbarkeit des Codes nicht unbedingt einfacher. Aber Du hast natürlich recht. In anderen Programmen mache ich das so, dass ich die Format-Settings immer direkt mit angebe. Das hauptsächlich weil die Programme lokal beim Kunden mit seinen Einstellungen laufen sollen aber der Datenaustausch auch zwischen den Ländern möglich sein muss (da nehme ich dann immer Invariant)...
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
482 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Ändern von FormatSettings verhindern

  Alt 3. Feb 2024, 16:30
Nimm doch einfach eine explizite Formateinstellung, zB TFormatSettings.Invariant
Dennis
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#5

AW: Ändern von FormatSettings verhindern

  Alt 3. Feb 2024, 16:33
Nimm doch einfach eine explizite Formateinstellung, zB TFormatSettings.Invariant
Das mache ich wenn ich ein einheitliches Austauschformat benötige. Die Einstellungen welche ich für die Oberfläche setzen muss sind von den Kunden vorgegeben. Die sind auf den Fertigungsprozess bezogen und haben nicht unbedingt was mit den Ländereinstellungen des Comupters zu tun.
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz