Ich hab das jetzt auch mal ausprobiert, ausgehend von deiner ersten Deklaration:
Delphi-Quellcode:
with TWorld.Create do
begin
//uninitialisiert
ShowMessage(Format('FBufferArray: %p, FWorldArray: %p', [FBufferArray, FWorldArray]));
//auf Länge 1
SetLength(FBufferArray, 1);
SetLength(FWorldArray, 1);
ShowMessage(Format('FBufferArray: %p, FWorldArray: %p', [FBufferArray, FWorldArray]));
Free;
end;
Ergebnis: Ist das Array noch nicht initialisiert, zeigen beiden wirklich auf die selbe Adresse, nämlich 0! Klar, sind ja auch nil-Pointer. Erst nach dem Festlegen der Länge zeigen sie wirklich auf verschiedene Adressen, zumindest bei mir (D5).