Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

Konstante mit dynamischem Array?

  Alt 7. Apr 2005, 14:48
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.
$2B or not $2B
  Mit Zitat antworten Zitat