AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Delphi-IDE/Debugger nicht richtig unicodefähig?

Delphi-IDE/Debugger nicht richtig unicodefähig?

Ein Thema von himitsu · begonnen am 15. Okt 2013 · letzter Beitrag vom 16. Okt 2013
Antwort Antwort
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.254 Beiträge
 
Delphi 12 Athens
 
#1

Delphi-IDE/Debugger nicht richtig unicodefähig?

  Alt 15. Okt 2013, 10:28
Kann es sein, daß die Delphi-IDE ein paar Macken beim Unicode hat?

z.B. das Ereignisprotokoll:
Delphi-Quellcode:
var
  S: string;
  A: AnsiString;
begin
  S := 'TELENERG-ŁÓD';
  if Ord(S[10]) <> 321 then // ging keim kopieren/speichern das Unicode kaputt
    S := 'TELENERG-'#$0141'ÓD';
  OutputDebugString(PChar(S)); // müsste gehen, tut es aber nicht ... das Ł geht kaputt
  OutputDebugStringW(PWideChar(S)); // ist ja das Selbe wie PChar (seit D2009)
  OutputDebugStringA(PAnsiChar(UTF8Encode(S)));
  OutputDebugStringA(PAnsiChar(AnsiString(S))); // das geht natürlich nicht, da hierbei auf jeden Fall die Unicodeinfos verloren gehen

  A := 'irgendwasÚ';
  if Ord(A[10]) <> 218 then
    A := 'irgendwas'#$DA;
  OutputDebugStringA(PAnsiChar(A)); // hmmmm, die Ansiversion nimmt scheinbar ANSI und UTF8 an

  R := UTF8Encode('irgendwas ä');
  SetCodePage(R, $FFFF, False);
  R := R + AnsiString(#$DA);
  OutputDebugStringA(PAnsiChar(R)); // sooo, ANSI wird als UTF8 interpretiert und wenn nicht nach Unicode konvertierbar, dann als ANSI

  // aber dennoch blöd, daß Unicode-OutputDebugString nicht funktioniert ... es kann doch nicht sein, daß man alles selber machen muß :wall:
end;
und bei der Dateisuche hab ich auch schon immer Probleme.
- ist eine Datei schon in der IDE geladen, dann funktioniert "Suchen in Dateien", ber ist die nicht geladen, dann kann man alles mit Unicode vergessen
- - Unicodezeichen zu suchen geht nicht
- - und wenn man etwas "ANSI" sucht, in Dateien die Unicode enthalteb, dann geht es praktisch nur, wenn die Datei auch als UTF8 gespeichert ist, wobei in den Suchergebnissen die UTF8-Codes sichtbar sind.

Bei S := 'alle ä suchen'; in einer Datei und diese Datei ist nicht in der IDE geladen:
Wenn ich nach dem "ä" suche, dann wird die Datei nicht gefunden und bei der Suche nach "alle", dann steht im Suchergebnis Test.pas(21): S := 'alle ä suchen'; .



Wisst ihr wie toll das ist, wenn man nach einem Unicodeproblem im Programm sucht, und dann der Debugger einen veräppelt?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (15. Okt 2013 um 10:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.173 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Delphi-IDE/Debugger nicht richtig unicodefähig?

  Alt 15. Okt 2013, 10:59
Noch komischer schaut es aus wenn man den DebugViewer von MS dran hängt und z.B. Chinesische Zeichen anzeigen will.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Delphi-IDE/Debugger nicht richtig unicodefähig?

  Alt 15. Okt 2013, 18:39
Zitat:
Wisst ihr wie toll das ist, wenn man nach einem Unicodeproblem im Programm sucht, und dann der Debugger einen veräppelt?
Vor allem dann wenn man mehr zeit damit verbringt teile des Quelltextes dahin zu konvertieren als eigentlichen Code zu schreiben.
PansiChar(AnsiString( bla. blaa
Wenn man so wie ich als Laie nicht jedes Bit und byte kennt ist das schon arg stressig.

Hab bestimmt mehr speicherlecks nur aufgrund der Konvertierungen als nötig sein sollten

gruss

Geändert von EWeiss (15. Okt 2013 um 18:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.393 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Delphi-IDE/Debugger nicht richtig unicodefähig?

  Alt 15. Okt 2013, 19:34
Da kann die Delphi IDE aber nichts dafür möchte ich mal anmerken... Siehe Doku:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Zitat:
OutputDebugStringW converts the specified string based on the current system locale information and passes it to OutputDebugStringA to be displayed. As a result, some Unicode characters may not be displayed correctly.
Und was das Speichern angeht:
Wenn die Datei als UTF8 gespeichert ist, hatte ich damit noch keinerlei Probleme. Wenn man allerdings beim Speichern die Frage, ob die Datei als UTF8 gespeichert werden soll, trotz Warnung mit Nein beantwortet, gehen die Zeichen kaputt. Das war aber auch der einzige Fall, bei dem ich das "Problem" hatte, aber da war ich ja selbst schuld.

// EDIT:
Vor allem dann wenn man mehr zeit damit verbringt teile des Quelltextes dahin zu konvertieren als eigentlichen Code zu schreiben.
Solange es keine Warnungen wie bedenkliche Typumwandlung gibt, kann man die Hinweise zu dem Thema ignorieren, Fehler sollten da nicht auftauchen.
Eine implizite String-Umwandlung mit potenziellem Datenverlust von 'string' zu 'AnsiString' kann z.B. zwar Probleme geben, weil Unicodezeichen herausfallen, aber wenn gar keine drin sind, funktioniert das.

Es sind aber keine schweren Probleme.

Speicherlecks sollten auch durch die Konvertierungen nicht entstehen.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (15. Okt 2013 um 19:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.173 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Delphi-IDE/Debugger nicht richtig unicodefähig?

  Alt 15. Okt 2013, 20:41
Da kann die Delphi IDE aber nichts dafür möchte ich mal anmerken... Siehe Doku:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Zitat:
OutputDebugStringW converts the specified string based on the current system locale information and passes it to OutputDebugStringA to be displayed. As a result, some Unicode characters may not be displayed correctly.
Autsch. Also sind doch nocht Win9x-Reste in Win7 und neuer vorhanden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.766 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Delphi-IDE/Debugger nicht richtig unicodefähig?

  Alt 16. Okt 2013, 09:32
Autsch. Also sind doch nocht Win9x-Reste in Win7 und neuer vorhanden.
Streiche Win9x, setze Win 3.x... nur so als Randbemerkung.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:26 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