AGB  ·  Datenschutz  ·  Impressum  







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

Erläuterung was "native unicode string" ist?

Ein Thema von torud · begonnen am 7. Jul 2011 · letzter Beitrag vom 14. Jul 2011
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

AW: Erläuterung was "native unicode string" ist?

  Alt 9. Jul 2011, 08:50
Nur, um kurz mal sicher zu gehen.

Du meinst, ich soll mir die 2 übermittelten Werte jeweils in einer WideString-Variablen zwischenspeichern und dann der TLB-Funktion übergeben?

Wäre dabei was anders?
Oder soll ich mir das dann loggen?
Was ist der Hintergrund Deines Vorschlags?
Wenn ich Sebastian richtig verstanden habe, will er damit erreichen, wie Dein übergebener Wert im Widestring aussieht. Du setzt an der Stelle wieder einen Haltepunkt und dann schaust Du Dir die temporären Werte an, ob Sie gleich sind mit der Quelle oder nicht.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.995 Beiträge
 
Delphi 12 Athens
 
#2

AW: Erläuterung was "native unicode string" ist?

  Alt 9. Jul 2011, 11:11
Nicht nur deshalb. Dadurch wird sichergestellt, dass ein neuer WideString als direkte WideString Variable an den OleVariant Wert übergeben wird.

Eigentlich sollte das keinen Unterschied machen. Aber man weiß ja nie...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Erläuterung was "native unicode string" ist?

  Alt 11. Jul 2011, 10:37
Nicht nur deshalb. Dadurch wird sichergestellt, dass ein neuer WideString als direkte WideString Variable an den OleVariant Wert übergeben wird.

Eigentlich sollte das keinen Unterschied machen. Aber man weiß ja nie...
Also ich habe testhalber mal den Code so angepasst:

Delphi-Quellcode:
var
  i : integer;
  sName, sValue : WideString;
begin
...
      for i := 0 to TextString.Count - 1 do begin
        sName := TextString.Names[i];
        sValue := TextString.Values[TextString.Names[i]];
        //loc_AkiTitle.set_(TextString.Names[i],'Text',TextString.Values[TextString.Names[i]]);
        loc_AkiTitle.set_(sName,'Text',sValue);
      end;
Habe mir einen Haltpunkt gesetzt und bin mit der Maus über die Variablen gefahren. Scheinbar sind die Hints NICHT UniCode, da ich viele ? zu sehen bekam.

Damit Ihr mal seht, wie sich das Problem visuell darstellt, hier mal ein Bildanhang. Links seht Ihr ein TTnTMemo, welches ja UniCode kann.
Komisch ist hier schon in der Ansicht, dass in Zeile
4 statt subline der Code etwas komisch aussieht. Die 1. wird rechts im Preview auch nicht angezeigt
5 bei Cracovia das hier steht -> Cracoⅵa und in der Anzeige nur Cracoa

Bin kurz vorm verzeifeln.
Angehängte Grafiken
Dateityp: png problem.png (168,4 KB, 17x aufgerufen)
Danke
Tom

Geändert von torud (11. Jul 2011 um 10:47 Uhr) Grund: Hinzufügen von Infos und einem Bild
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Erläuterung was "native unicode string" ist?

  Alt 11. Jul 2011, 10:56
Ich habe nun mal die WideStringList gespeichert.
Sieht leider nicht gut aus. Das Problem ist also definitiv auf meiner Seite:


header=EKSTRAKLASA
subl㏌e=⒈ kolejka
team_a=Cracoⅵa Kraków
team_b=Legia Warszawa

Das sieht nicht wirklich nach UniCode aus. Muss ich vielleicht bei den TNT-Controls irgendwas am Charset einstellen oder der WideStringlist noch eine spezielle Eigenschaft verpassen?
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.995 Beiträge
 
Delphi 12 Athens
 
#5

AW: Erläuterung was "native unicode string" ist?

  Alt 11. Jul 2011, 12:15
Muss ich vielleicht bei den TNT-Controls irgendwas am Charset einstellen oder der WideStringlist noch eine spezielle Eigenschaft verpassen?
Dabei kann ich dir leider nicht helfen, da ich Unicode nur in aktuellen Delphiversionen ohne Verrenkungen benutze. Damals in Delphi 7 habe ich nur AnsiStrings benutzt.

Das Problem ist wie du bemerkt hast natürlich, dass die Delphi IDE durch die fehlende Unicodeunterstützung auch keine Unicodestrings beim Debuggen auswerten kann...
Was du versuchen kannst um definitiv festzustellen, ob die Strings falsch sind, ist, dass du diese einfach einmal ausgibst:
Delphi-Quellcode:
MessageBoxW(0, PWideChar(sName), 'Test: sName', 0);
MessageBoxW(0, PWideChar(sValue), 'Test: sValue', 0);
Das sollte auch mit Delphi 7 problemlos funktionieren.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Erläuterung was "native unicode string" ist?

  Alt 11. Jul 2011, 12:28
Sorry, wenn ich mich dämlich anstelle, aber mein Delphi kennt kein MessageBoxW.
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.995 Beiträge
 
Delphi 12 Athens
 
#7

AW: Erläuterung was "native unicode string" ist?

  Alt 11. Jul 2011, 12:32
Dann fehlt die Unit Windows in der uses Klausel.
Sebastian Jänicke
AppCentral
  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 12:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz