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