Autor Beitrag
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 05.07.05 10:14 
Hallo!

Ums vorweg zu sagen: Ich kann im Moment nicht auf borland.com zugreifen (offline? Wurm? Keine Ahnung...), deshalb weiß ich nicht, ob darüber was dort steht.

Jedenfalls hab ich gerade festgestellt, dass die Umsetzung der deutschen Umlaute in Delphi 2005 Personal nicht ganz korrekt ist! (Und vermutlich auch bei den anderen Editionen)

Wenn man in den Versionsangaben des Projekts Umlaute z.B. fürs Copyright benutzt (Jänicke...), werden diese zwar korrekt umgesetzt, ruft man dann die Versionsangaben erneut auf werden die Umlaute nicht richtig dargestellt:
Aus "Sebastian Jänicke" wird "Sebastian Jänicke"

Klickt man nun erneut auf Ok, werden diese Zeichen wieder ersetzt bzw. konvertiert, und nun steht Blödsinn in der Exe-Versionsangabe...
Das kann man übrigens auch mehrmals wiederholen, der Blödsinn wird immer länger...

Woher das kommt? Ich vermute, dass das daran liegt, dass die .bdsproj als ANSI gespeichert wird, Delphi intern aber Unicode verwendet. (Deshalb werden aus einem Buchstaben ä, in Unicode ja 2 Byte eben zwei Buchstaben.)
Nun und bei der Speicherung wird zwar Unicode in ANSI umgewandelt, beim Laden aber nicht umgekehrt...

Stimmt das? Kann man da was machen?

(Workaround: Einfach die Versionsangabe einmal korrekt schreiben, dann wird die erstmal in die .res-Datei gespeichert. Dann die Versionsangabe aus der .res-Datei in eine neue .res-Datei schreiben. Und schließlich diese Datei einbinden und die Versionsangaben in den Projektoptionen deaktivieren.
Problem: Automatisches inkrementieren der Build-Number geht natürlich nicht mehr...)

Schönen Gruß
direction4delphi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 84

WIN 95, WIN 98, WIN ME, WIN NT, WIN 2000, WIN XP, VISTA
D2 Prof, D4 Prof,D2005 Prof, Delphi4Php
BeitragVerfasst: Di 05.07.05 11:58 
Also bei mir Delphi2005 prof mir Update3 tritt dieses Phänomen nicht auf

Werde mir morgen mal die personal Version ansehen

mfg
MILLI
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 05.07.05 14:17 
Tja, ich dachte mir schon, dass sowas schnell bemerkt wird (falls es ohne das Update auch da vorkam, meine ich), nur für die Personal gibts ja kein Update...
Master_of_Magic
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56

Win 98, Win XP
D6 Pers, D2005 Arch
BeitragVerfasst: Di 05.07.05 14:42 
Ich kann das Problem ebenfalls bestätigen, allerdings nicht für Umlaute (nicht getestet) sondern für Sonderzeichen wie z.B. ©. Vor diese werden die gleichen seltsamen Zeichen wie vor Jänicke's Ä gesetzt ...
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Do 14.07.05 21:19 
user profile iconjaenicke hat folgendes geschrieben:
Wenn man in den Versionsangaben des Projekts Umlaute z.B. fürs Copyright benutzt (Jänicke...), werden diese zwar korrekt umgesetzt, ruft man dann die Versionsangaben erneut auf werden die Umlaute nicht richtig dargestellt:
Aus "Sebastian Jänicke" wird "Sebastian Jänicke"

Klickt man nun erneut auf Ok, werden diese Zeichen wieder ersetzt bzw. konvertiert, und nun steht Blödsinn in der Exe-Versionsangabe...
Das kann man übrigens auch mehrmals wiederholen, der Blödsinn wird immer länger...

Woher das kommt? Ich vermute, dass das daran liegt, dass die .bdsproj als ANSI gespeichert wird, Delphi intern aber Unicode verwendet. (Deshalb werden aus einem Buchstaben ä, in Unicode ja 2 Byte eben zwei Buchstaben.)
Nun und bei der Speicherung wird zwar Unicode in ANSI umgewandelt, beim Laden aber nicht umgekehrt...

Stimmt das? Kann man da was machen?


Ist zwar jetzt gelößt: Diese Codierung ist nicht Unicode sondern UTF8. Sonst würde es nicht in einer ANSI-Textdatei passen, da in 16-Bit Unicode ja ein Byte der 2 Bytes 0 werten kann und damit von vielen C-Basierten Funktionen als Stringende angesehen würde.