Nur mal aus Interesse: Wenn es so in D2010 mit der Pointer-Zuweisung funktioniert, was gibt dann
Length(meta) zurück?
Gibt es Fälle, wo der Aufruf mit
@xy[<Wert größer 0>] erfolgt?
Anhand der Übergabeparameter im ersten Code-Block und der Aussage, daß es funktioniert, schließe ich, daß
xy ein
TArray<TPoint> ist mit einer Länge von 10 (
ArraySize). Das sollte dann auch der oben genannte Wert von
Length(meta) sein. Wenn dem so ist, funktioniert dein Code auch noch, wenn du Range-Checking bei der X/Y-Zuweisung im letzten Code-Block einschaltest?
Delphi-Quellcode:
{$R+}
x1 := meta[0];
y1 := meta[1];
x2 := meta[(ArraySize * 2) - 2];
y2 := meta[(ArraySize * 2) - 1];
Gibt es einen Grund, warum
meta nicht auch als
TArray<TPoint> deklariert ist?