tEdit erhält chinesische Schriftzeichen als default

Rund um die LCL und andere Komponenten
Antworten
Martin V
Beiträge: 142
Registriert: Sa 30. Jan 2010, 19:35
OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
CPU-Target: xxBit

tEdit erhält chinesische Schriftzeichen als default

Beitrag von Martin V »

Hallo,

in einem größeren portierten Programm von mir habe ich einen merkwürdigen Effekt. tEdit, tCombobox, tGroupbox und tMemo erhalten alle grundsätzlich zur Laufzeit immer 10 chinesische Schriftzeichen als caption/text default, egal was ich im Resourceneditor unter Caption bzw. Text eintrage. Im Resourceneditor erscheint der gewünschte Default Wert wie gewüscht. Ein Mini-Beispielsprogramm funktioniert eintwandfrei. Ich weiß momentan gar nicht, wo ich da suchen könnte. Es sind alles immer die selben 10 Zeichen, und bei tMemo erscheint dann weiterer normal lesbarer von mir gewollter Text mit tMemo.Add dahinter. Ich habe mir vor ca. 1 Woche den daily build heruntergeladen (Windows 32).

Danke für jeden Hinweis

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: tEdit erhält chinesische Schriftzeichen als default

Beitrag von Maik81ftl »

Martin V hat geschrieben:Hallo,

in einem größeren portierten Programm von mir habe ich einen merkwürdigen Effekt. tEdit, tCombobox, tGroupbox und tMemo erhalten alle grundsätzlich zur Laufzeit immer 10 chinesische Schriftzeichen als caption/text default, egal was ich im Resourceneditor unter Caption bzw. Text eintrage. Im Resourceneditor erscheint der gewünschte Default Wert wie gewüscht. Ein Mini-Beispielsprogramm funktioniert eintwandfrei. Ich weiß momentan gar nicht, wo ich da suchen könnte. Es sind alles immer die selben 10 Zeichen, und bei tMemo erscheint dann weiterer normal lesbarer von mir gewollter Text mit tMemo.Add dahinter. Ich habe mir vor ca. 1 Woche den daily build heruntergeladen (Windows 32).

Danke für jeden Hinweis
:?: :?: :?:

kann i mir zwar nur schwer vorstellen, aber zugegeben. wenn i mir dein BS anschaue wundert mich wirklich nicht mehr. :D

nene Spaß beiseite. könnte ggf an den dayily build liegen.

Sonst auf jeden fall mail die Font bei den Objekten durchschauen, ob da was chinesische eigetragen wurde, zumal von irgenwas muß es die werte ja lagen.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

shokwave
Beiträge: 475
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: tEdit erhält chinesische Schriftzeichen als default

Beitrag von shokwave »

Das könnte ein Problem mit der Kodierung deiner Quelltexte sein. Schau mal unter "Werkzeuge/Kodierung von Projekten/Packages konvertieren".
mfg Ingo

Martin V
Beiträge: 142
Registriert: Sa 30. Jan 2010, 19:35
OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
CPU-Target: xxBit

Re: tEdit erhält chinesische Schriftzeichen als default

Beitrag von Martin V »

>Das könnte ein Problem mit der Kodierung deiner Quelltexte sein

Ich habe im Programm gar keine Zuweisungen. Nach einer Zuweisung ist der chinesische Default-Eintrag weg und alles wieder OK.
Mir ist schon klar, dass man bei Zuweisungen aufassen muss, denn intern verwendet Lazarus UTF-8, bei dem Umlaute mit zwei bis drei bytes dargestellt werden.

Wenn nicht jemand noch eine bessere Idee hat, werde ich wohl einen neuen daily build holen.

P.S. Das OS "Winux" ist nicht von mir eingetragen gewesen. Ich benutze Win32, Ubuntu und MacOS 10.6.

shokwave
Beiträge: 475
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: tEdit erhält chinesische Schriftzeichen als default

Beitrag von shokwave »

Martin V hat geschrieben:Ich habe im Programm gar keine Zuweisungen.
Unter Quelltext zähle ich auch die .lfm die die Informationen deiner Form und Komponenten beinhaltet. Hast du mal geguckt unter Werkzeuge/Kodierung... ? Wenn die Vorschau leer ist sollte alles passen, wenn sie nicht leer ist, sind die angezeigten Dateien nicht UTF8.
Oder anders gefragt, sind die chinesischen Zeichen auch bei einem neuen Projekt?
Martin V hat geschrieben:P.S. Das OS "Winux" ist nicht von mir eingetragen gewesen. Ich benutze Win32, Ubuntu und MacOS 10.6.
Das kannst du in deinem Profil anpassen.
mfg Ingo

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: tEdit erhält chinesische Schriftzeichen als default

Beitrag von MAC »

Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

ist einfach nur der standartwert wenn noch nichts geändert wurde Winux = Win + (Lin)ux...

Code: Alles auswählen

Signatur := nil;

Martin V
Beiträge: 142
Registriert: Sa 30. Jan 2010, 19:35
OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
CPU-Target: xxBit

Re: tEdit erhält chinesische Schriftzeichen als default

Beitrag von Martin V »

Ich habe nun selbst die Lösung gefunden.

An einer ganz anderen Stelle des Programms habe ich einen Windows-Funktionsaufruf, der einen String zurückgibt. Für diesen Rückgabestring habe ich vergessen, den Speicher zu reservieren, also array[0..1000] of char statt einen Pointer. Dann schreibt Windows - ohne Programmabsturz - den String irgendwohin und überschreibt wichtige Speicherbereiche, in denen in diesem Fall eben irgendwelche LCL-Einstellungen waren. Das Programm läuft dann ohne weitere Warnung Amok.

Antworten