Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
10. Dez 2009
Arg, beim Test hab ich jetzt noch festgestellt, daß die Typeninfos von einem String auf einen Anderen übertragen werden können :wall:
(das macht überhaupt keinen Spaß :cry: )
z.B. würde man hinter R (also dem UTF8-String genannt "R(UTF)") auch UTF8-kodierte Zeichen vermuten/erwarten
procedure TForm1.FormCreate(Sender: TObject);
type
PStrRec = ^StrRec;
StrRec = packed record
...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
10. Dez 2009
Nimm ab Delphi 2009 statt dem AnsiString lieber den RawByteString für soetwas, denn dort wurde unter Anderem eine automatische CodePageUmwandlung eingeführt, welche für diesen String-Typen deaktiviert ist.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
10. Dez 2009
Nein, Move wurde in "neueren" Delphis durch etwas aus'm FastCodeProjekt ersetzt und kopiert jetzt etwas optimaler. :stupid:
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
10. Dez 2009
Wenn FReceivedData ein "Array of Byte" und SData ein "AnsiString" (oder Ähnliches) ist:
SData := AnsiString(Pointer(FReceivedData));
UniqueString(SData);
FReceivedData := nil;
Wobei das mit dem Move eigentlich auch funktionieren sollte :gruebel:
SetLength(SData, Length(FReceivedData));
MoveMemory(@SData, @FReceivedData, Length(FReceivedData));
FReceivedData := nil;
Bist du ganz sicher,...