Witam serdecznie
Mam problem z błędnie wykonującym się kodem po przejściu z Turbo Pascal na Delphi 10.2.3. Kod który wykonuję się nieprawidłowo poniżej:
var
Form2: TForm2;
Stream:TMemoryStream;
l:TStringList;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
var
s,sx: String;
i: Integer;
n: Word;
b: Byte;
P :Integer;
begin
n := l.Count;
P:= Stream.Position;
Stream.Write(n, 2);
for i := 0 to l.Count - 1 do
begin
s := l[i];
n := Length(s);
Stream.Write(n, 2);
Stream.Write(s[1], n);
b := 13;
if i <> l.Count - 1 then Stream.Write(b, 1);
end;
b := 0;
Stream.Write(b, 1);
// odczyt danych
SetLength(sx,n);
Stream.Position := P+4;
Stream.Read(sx[1],n);
ShowMessage(sx);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
Stream := TMemoryStream.Create;
l:=TStringList.Create;
l.Add('Napis do obrobki.');
end;
end.
Po zapisaniu do Stream i po ponownym odczytaniu otrzymuję tylko kilka danych, kod w Turbo Delphi wykonuje się prawidłowo
Z góry dziękują za pomoc.
Pozdrawiam