AGB  ·  Datenschutz  ·  Impressum  







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

Ländereinstellungen werden nicht übernommen

Ein Thema von franktron · begonnen am 30. Jun 2016 · letzter Beitrag vom 24. Aug 2016
Antwort Antwort
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Ländereinstellungen werden nicht übernommen

  Alt 30. Jun 2016, 10:55
Ich habe ein Programm mit XE2 geschrieben (Konsole), diese Programm ist ein Server das mit jeder Verbindung einen neue Thread erstellt.

Jetzt zum Problem, ich nutze beim Start des Main Threads folgenden Code
Delphi-Quellcode:
Settings := TFormatSettings.Create(LANG_GERMAN);

  For i := 0 to High(FormatSettings.LongMonthNames) do
  Begin
    FormatSettings.LongMonthNames[i] := Settings.LongMonthNames[i];
  End;
  For i := 0 to High(FormatSettings.LongDayNames) do
  Begin
    FormatSettings.LongDayNames[i] := Settings.LongDayNames[i];
  End;

  For i := 0 to High(FormatSettings.ShortMonthNames) do
  Begin
    FormatSettings.ShortMonthNames[i] := Settings.ShortMonthNames[i];
  End;
  For i := 0 to High(FormatSettings.ShortDayNames) do
  Begin
    FormatSettings.ShortDayNames[i] := Settings.ShortDayNames[i];
  End;

  FormatSettings.ShortDateFormat := 'dd.mm.yyyy';
  FormatSettings.DateSeparator := '.';
  FormatSettings.TimeSeparator := ':';
  FormatSettings.DecimalSeparator := ',';
Um die Länder Einstellung des Programm auf Deutsch einzustellen.

Das geht aber nicht immer ab und zu ist das Programm dann Englisch und bleibt auch dabei bis es wieder neu gestartet wird.

Muss ich die Einstellungen für jeden Thread einzeln machen oder was ist das Problem.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Pixel

Registriert seit: 23. Aug 2016
26 Beiträge
 
#2

AW: Ländereinstellungen werden nicht übernommen

  Alt 23. Aug 2016, 21:50
Es ist wirklich schwer herauszufinden wo dein Problem liegt mit dem was du an Code posted hast.

Allgemein solltest du aber deinen Thread so aufbauen:

(freihand runtergetippt)

Delphi-Quellcode:
TMeinThread = class(TThread)
    private
        m_Language : TLanguage;
    protected
        procedure Execute; override;
    public
        constructor Create(language: TLanguage);
end;

constructor TMeinThread.Create(language: TLanguage);
begin
  inherited Create(false); // Dass der Thread nicht suspended gestartet wird
  FreeOnTerminate := True // Falls der Thread nicht manuell free wird.
  m_Language := language; // Der lokalen private-variable die dem Thread zugewiesene Sprache übermitteln
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  threadObjekte : array[0..4] of TMeinThread;
  i : Integer;
begin
  for i := 0 to 4 do
  begin
    threadObjekt[i] := TMeinThread.Create(LANG_GERMAN);
  end;
end;
So würden 5 Threads mit der Sprache LANG_GERMAN erstellt. Jeder einzelne Thread threadObjekt[i] muss selbstverständlich seperat eine Sprache zugeordnet bekommen.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.289 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ländereinstellungen werden nicht übernommen

  Alt 24. Aug 2016, 10:01
Moin...

Unabhängig von den Threads... Die FormatSettings sind fehlerhaft. Siehe: http://www.delphipraxis.net/188843-f...s-dummies.html
Prinzipiell betrifft u.a. das Time Format.

Geändert von haentschman (24. Aug 2016 um 10:14 Uhr)
  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 08:37 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