Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Andreas13,
13. Apr 2021
Ganz allgemein könnte man es evtl. so schreiben:
...
If Len > 0 Then
St.ReadBuffer(Result , Len*SizeOf(Result));
damit das Lesen für jedwenden BufferType funktioniert.
Andreas
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Andreas13,
13. Apr 2021
Du hast recht, BerndS: Ich habe den AnsiString nicht beachtet...:oops:
Andreas
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Andreas13,
13. Apr 2021
Das erste Zeichen des Puffers ist 0 mund nicht 1. Der Positionszeiger muss auf 0 gesetzt werden:
function LoadStrFromStream(Const St: TMemoryStream): AnsiString;
var Len: LongInt;
begin
St.Position:= 0;
St.ReadBuffer(Len, SizeOf(Len));
SetLength(Result, Len);
If Len > 0 Then
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Andreas13,
13. Apr 2021
Du mußt auch beim LeseninpStream.Position:= 0; setzen.
Gruß, Andreas