Sprache von application.MessageBox falsch.[gelöst]

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Sprache von application.MessageBox falsch.[gelöst]

Beitrag von corpsman »

Servus miteinander,

Bevor ich nen Bug Report schreibe, wollt ich erst mal euch fragen, evtl . mache ich ja auch etwas falsch.

Ich nutze hier ein Deutsches WindowsXP mit Lazarus SVN Revision 39124.

Nun erzeuge ich 2 Messageboxen :

Code: Alles auswählen

 
Procedure TForm1.Button1Click(Sender: TObject);
Begin
  If application.MessageBox('Text der Warnung.', 'Warnung', mb_YESNO Or MB_ICONWARNING) = ID_YES Then Begin
    caption := 'Ja geklickt.';
  End
  Else Begin
    caption := 'Nein geklickt.';
  End;
End;
 
Procedure TForm1.Button2Click(Sender: TObject);
Begin
  If MessageBox(form1.Handle, 'Text der Warnung.', 'Warnung', mb_YESNO Or MB_ICONWARNING) = ID_YES Then Begin
    caption := 'Ja geklickt.';
  End
  Else Begin
    caption := 'Nein geklickt.';
  End;
End;         
 


In der Variante von Button1 sind die "Ja" "Nein" Buttons des Dialogs Englisch (was ich als Falsch = Bug empfinde).
In der Variante von Button2 sind die "Ja" "Nein" Buttons des Dialogs Deutsch.

Muss man der LCL noch extra Sagen in welcher Sprachen man Arbeitet ? Oder ist das tatsächlich ein Bug.

Gruß

Corpsman
Dateianhänge
Fehler.zip
Demo Code.
(2.19 KiB) 100-mal heruntergeladen
Zuletzt geändert von corpsman am Mo 8. Apr 2013, 08:04, insgesamt 1-mal geändert.
--
Just try it

Linkat
Lazarusforum e. V.
Beiträge: 530
Registriert: So 10. Sep 2006, 23:24
OS, Lazarus, FPC: Linux Mint 21.3; Lazarus 3.0 FPC 3.2.2; RaspiOS
CPU-Target: AMD 64, ARM 32
Wohnort: nr Stuttgart

Re: Sprache von application.MessageBox falsch.

Beitrag von Linkat »

Hallo corpsman,
habe deinen Fehler gerade nachvollzogen mit Lazarus 32 bit Ver. 1.0.8 auf einem Win7 64 bit PC. Kann dir leider auch nicht helfen.

Mir ist aufgefallen, dass bei anderen Komponenten die Übersetzung auch nicht ganz "sauber" ist. So erscheint zum Beispiel, wenn ich einem BitBtn im Objektinspektor die Eigenschaft "Kind" bkClose zuweise die Beschriftung "Schließen", aber in dem kompiliertem Fenster steht "Close". Dieses Problem habe ich auch schon bei anderen Komponenten gesehen (weiß gerade nicht bei welchen).

Wahrscheinlich haben beide Probleme den selben oder einen ähnlichen Ursprung.

Gruß, Linkat
Linux Mint 21; Lazarus 2.2.4 FPC 3.2.2; RaspiOS

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Sprache von application.MessageBox falsch.

Beitrag von hde »

In LAZ 1.1 (SVN 40524) fpc 2.7.1 gleiches Ergebnis, englisch und deutsch
hde

Benutzeravatar
Ally
Beiträge: 263
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: Sprache von application.MessageBox falsch.

Beitrag von Ally »

Hallo corpsman,

mit QuestionDlg kann man die Beschriftung selbst festlegen.

Code: Alles auswählen

    Antwort := QuestionDlg('Achtung', 'Die Datei wurde bearbeitet, aber noch nicht gespeichert.' +
    #13 + #13 + 'Soll die Datei jetzt gespeichert werden?'+ #13 + #13,
    mtConfirmation, [mrYes, 'Ja', mrNo, 'Nein', mbCancel, 'Abbrechen'], 0);
 
    if Antwort = mrYes then A_DatSpeichernExecute(Self);



Gruß Ally

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Sprache von application.MessageBox falsch.

Beitrag von corpsman »

@Ally
Hmm wäre wenigstens eine Plattformunabhängige alternative, wenn ich das so richtig sehe, ...
--
Just try it

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Sprache von application.MessageBox falsch.

Beitrag von Socke »

corpsman hat geschrieben:Bevor ich nen Bug Report schreibe, wollt ich erst mal euch fragen, evtl . mache ich ja auch etwas falsch.

Das ist kein Bug; Du musst deinem Programm mitteilen, welche Sprachdatei es verwenden soll. Die werden für viele Sprachen schon mitgeliefert und liegen unter <Lazarus>/lcl/languages/. Im Free-Pascal-Wiki gibt es dazu einige Informationen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Sprache von application.MessageBox falsch.

Beitrag von corpsman »

Nachdem der User meiner Anwendung die Sprache Umstellen können mus, und das Wiki anscheinend down ist, denke ich, wird die Variante mit dem QuestionDlg die bestmögliche sein.

Danke für die Erklärungen.
--
Just try it

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Sprache von application.MessageBox falsch.

Beitrag von Socke »

corpsman hat geschrieben:[...]und das Wiki anscheinend down ist[...]

Nur weil die Suche gerade nicht funktioniert, heißt das nicht, dass man nicht Suchen kann: http://lmgtfy.com/?q=site%3Awiki.freepa ... lation&l=1
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Sprache von application.MessageBox falsch.

Beitrag von corpsman »

*g*

danke für eure Hilfe, ich hab mich nun für den Questiondlg entschieden, den hier kann ich die Sprache zur Laufzeit umstellen und mit Ressourcenstrings arbeiten.
--
Just try it

ruewa
Beiträge: 153
Registriert: Sa 12. Apr 2014, 14:43

Re: Sprache von application.MessageBox falsch.

Beitrag von ruewa »

Socke hat geschrieben:Nur weil die Suche gerade nicht funktioniert, heißt das nicht, dass man nicht Suchen kann: http://lmgtfy.com/?q=site%3Awiki.freepa ... lation&l=1

Ähem...

trtrtrt_2.jpeg
trtrtrt_2.jpeg (12.45 KiB) 2410 mal betrachtet
:?

Aber vielleicht hilft das hier weiter? http://www.lazarusforum.de/viewtopic.php?f=17&t=5787&p=68491#p68491
Das hat bei mir nicht nur die Application.MessageBox-Meldungen umgestellt, sondern auch das ganze Geraffel von BitBtn etc.

Gruß Rüdiger

Antworten