Zitat:
Delphi-Quellcode:
ms := TMemoryStream.Create;
ms.Write(FData^, FWritePosition);
ms.SaveToFile(AFilename);
ms.Free;
Wir wäre es mit Ressourcenschutzblöcken?
Zitat:
{$mode objfpc}
Es kann nicht schaden, wenn du in deinem Profil angibst, dass du FreePascal (vielleicht auch Lazarus) verwendest,
bzw. in einigen Unterforen kann man das bei jedem Thread auch nochmal einzeln angeben,
denn es macht es den Helfenden auch einfacher die Anzwortmöglichkeiten entsprechend abzuwägen.
In "etwas neueren" Delphis gibt es z.B.
TFile.WriteAllBytes
, womit man wunderschön ByteArrays speichern/laden kann.
TMemoryStream bzw. TBytesStream als Vorfahre und du kannst direkt dessen Speicher benutzen, anstatt selbst mit Pointer rumzuhantieren.
Statt wilden Pointern verwende ich selbst auch fast nur noch TBytes, bzw. TArray<Byte>, was sich den Speicher automatisch freigeben lässt und auch beim Debuggen einen schöneren Einblick gewährt.