Hab grad festgestellt, das das so gar nicht klappen kann
Weil:
Die Deklaration von PByteArray:
Delphi-Quellcode:
PByteArray = ^TByteArray;
TByteArray = array[0..32767] of Byte;
Demnach hat ein PByteArray^
immer eine Länge von 32768 byte, dann kann man reallokieren wollen wie man möchte.
Lösung:
Delphi-Quellcode:
MyByteArray = array of byte;
PMyByteArray = ^MyByteArray;
Vorteil bei PMyByteArray: Ich allokiere ihn mit GetMem, kann dann aber mit Length und SetLength wie mit einem regulären Array arbeiten und auch eine neue Größe zuordnen, was bei PByteArray dank der konstanten Länge nicht funzt.