Delphi-Quellcode:
type
TByteArray = array of Byte;
PByteArray = ^TByteArray;
var
B: PByteArray;
begin
new(b);
setlength(B^, 100 + 1);
B^[10] := 255;
writeln(B^[10]);
dispose(B);
readln;
end.
Nein, das stimmt so nicht. Lass den PByteArray-Kram weg. SetLength regelt die Alloziierung fuer das TByteArray. Die Dealloziierung aller "array of"-Variablen geschieht heimlich und automatisch.
Delphi-Quellcode:
type
TByteArray = array of Byte;
var
B: TByteArray;
begin
// Hier wird B von Delphi heimlich auf nil initialisiert
// SetLength alloziiert 101 Elemente (Bytes).
setlength(B, 100 + 1);
B[10] := 255;
writeln(B[10]);
readln;
// Hier gibt Delphi das alloziierte array heimlich frei
end.