@Namenloser: SetLength mit einem "Array of ..." Parameter compilert erst gar nicht. Zumindest nicht als var-Parameter.
Richtig, allerdings wird der Array-Parameter ja nicht direkt an die Funktion übergeben, sondern erst auf einen kompatiblen Typ gecastet. Ob der Cast kompiliert oder vom Compiler beanstandet wird, habe ich allerdings nicht ausprobiert. Aber mit etwas Getrickse kann man sowieso alles casten, nur das Ergebnis ist (wie in diesem Fall) nicht immer sinnvoll.