Einzelnen Beitrag anzeigen

Benutzerbild von halinchen
halinchen

Registriert seit: 13. Jun 2006
508 Beiträge
 
Delphi 2007 Professional
 
#1

SetString für WideStrings

  Alt 11. Nov 2007, 16:17
Hi!

Folgendes Funktioniert:
Delphi-Quellcode:
var
  Str : String;
begin
  SetString(Str,NIL,10);
  ShowMessage(Str);
end;
Im String steht 10x #0 drin.

Sobald ich aber einen WideString nehme:
Delphi-Quellcode:
var
  Str : WideString;
begin
  SetString(Str,NIL,10);
  ShowMessage(Str);
end;
geht's nicht mehr. Im WideString stehen immer solche komischen Kästchen drin (Nicht die "normalen" Kästchen wenn ein Zeichen nicht im Zeichensatz drin ist, sonder noch 2 Striche oben links).
Diese setzen sich so zusammen.
1. Byte: #0
2. Byte; #47789

Das selbe passiert auch mit SetLength.

Am Anfang dachte ich, es ist normal, aber auf einmal stand "Deutsch (Deutschland)" in meinem WideString . Da greift es sicherlich auf einen anderen Speicherbereich zu.

Es muss doch sowas auch für Unicodes geben. Ich muss nämlich einen WideString in einen anderen mittels Move verschieben.

P.S.: Ich bin mir bewusst, das ShowMessage kein Unicode darstellen kann! Das was ich sehe ist in den überwachten Ausdrücken.

edit: Rechtschreibfehler
  Mit Zitat antworten Zitat