Gehe ich recht der annahme, dass es leider keinen Weg bit, um ein dynamisches Array mit einem bestimmten Wert vorzubelegen?
Mein Problem ist volgendes:
ich habe einige Proceduren, denen ich auch mal eine Konstante mit einem Array übergeben möchte.
Und mir ist auch bewußte, das es ja normaler Weise möglich ist, ein statisches Array an eine Prozedur zu übergeben, welche ein dynamisches Array (
kein Var-Parameter) empfängt.
Nur liegt bei mir das Array nicht direkt, sondern innerhalb eines Records vor,
wodurch ich ja einen neuen Typ, mit statischem Array für die Konstante, erstellen müßte.
Allerdings meckert ja dann der Compiler über die inkompatieblen Typen
Natürlich könte man ja statt der Konstanten einige Variablen nehmen, welche beim Start, über eine Prozedur, belegt werden ... aber genau dieses möchte ich nicht, da nicht immer alle Konstanten benötigt werden und in solchen Fällen ja Speicher verschwenden.
Statisch geht da ja ganz gut:
Delphi-Quellcode:
Type T1 = Record
a: Integer;
b: Integer;
c: Array[0..2] of Integer;
End;
Const x: T = (a: 0; b: 1; c: (2, 3, 4));
aber dynamisch kann ich das Array nicht belegen.
Delphi-Quellcode:
Type T2 = Record
a: Integer;
b: Integer;
c: Array of Integer;
End;
Const y: T2 = (a: 0; b: 1; c: (2, 3, 4));
Und T1 ist natürlich (leider) nicht mit T2 kompatiebel.