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
Seite 2 von 3     12 3      
Benutzerbild von RWarnecke
RWarnecke

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

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

  Alt 9. Jul 2011, 09: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.648 Beiträge
 
Delphi 11 Alexandria
 
#12

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

  Alt 9. Jul 2011, 12: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
 
#13

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

  Alt 11. Jul 2011, 11:05
So nebenbei würde ich auch 'ValueFromIndex' verwenden. Tut zwar nix zur Sache, ist aber schneller und übersichtlicher.
Delphi-Quellcode:
for i := 0 to TextString.Count - 1 do
   loc_AkiTitle.set_(TextString.Names[i],'Text',TextString.ValueFromIndex[i]);
TextString.ValueFromIndex[i] gibt es nicht in einer TWideStringlist;
aber trotzdem danke für den Optimierungsversuch.
Danke
Tom
  Mit Zitat antworten Zitat
torud

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

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

  Alt 11. Jul 2011, 11: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.
Miniaturansicht angehängter Grafiken
problem.png  
Danke
Tom

Geändert von torud (11. Jul 2011 um 11: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
 
#15

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

  Alt 11. Jul 2011, 11: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.648 Beiträge
 
Delphi 11 Alexandria
 
#16

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

  Alt 11. Jul 2011, 13: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
 
#17

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

  Alt 11. Jul 2011, 13: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.648 Beiträge
 
Delphi 11 Alexandria
 
#18

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

  Alt 11. Jul 2011, 13:32
Dann fehlt die Unit Windows in der uses Klausel.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
torud

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

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

  Alt 11. Jul 2011, 13:46
Jo, jetzt kommen die MessageBoxen.

---------------------------
Test: sValue
---------------------------
Cracoⅵa Kraków
---------------------------
OK
---------------------------

ist der Inhalt. Hier ist auch wieder das vi im Teamnamen so "komisch".

Und so "baue" ich den Code zusammen:

Delphi-Quellcode:
procedure Tmatchid.btn_showClick(Sender: TObject);
begin
  //hinzufügen der strings
  TextString.Add('header='  + ed_header.Text);
  TextString.Add('subline=' + ed_subline.Text);
  TextString.Add('team_a='  + ed_team_a.Text);
  TextString.Add('team_b='  + ed_team_b.Text);
  TextString.Add('footer_1=' + ed_footer_1.Text);
  TextString.Add('footer_2=' + ed_footer_2.Text);
  TextString.Add('footer_3=' + ed_footer_3.Text);
  //schicken der inhalte zum laden der grafik
  form1.TS_AKI_ProviderUC1.ShowGraphic('match_id.gse',1,TextString,LogoString,PropList,0,'IN',True);
end;
Die Messagbox kommt aus einer UnterRoutine von TS_AKI_ProviderUC1.ShowGraphic.
Dort ist alles auf WideString und TWideStringlist eingestellt.
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

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

  Alt 11. Jul 2011, 14:07
Funktioniert es denn, wenn du den Inhalt der Editfelder direkt per MessageBoxW ausgibst?
(Gibt es vielleicht noch eine andere Eigenschaft als Text? Also ist Text wirklich WideString?)

Lass doch den Unsinn mit der TWideStringList weg. Wenn du mehrere Werte nicht einzeln übergeben willst, nimm einen Record. Aber das ganze zu einer Liste verwursten und dann wieder auseinanderzubasteln ist Blödsinn...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 21:06 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