Sobald etwas nicht fix ist bzw. zur Compilezeit unbekannt ist, desto mehr Information muss während der Laufzeit beim Aufruf einer Funktion übergeben werden. Ein
procedure abc(a : array of Char) sieht für Delphi intern pseudomässig eher so aus:
procedure abc(a : array of Char; Low, Length : Integer).
Bei dynamischen Arrays kommt zusätzlich noch ein Overhead fürs Reference-Counting hinzu (Bei jeder Kopie des Pointers gibt es einen zusätzlichen Overhead).
Vielleicht probierst du mal folgendes aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure abc(var Data); Var Arr : Array[0..9] of Anytype absolute Data; begin end; Var MyArr : array of Anytype; begin abc(MyArr[0]); end; |