Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Verschachtelte array of record Initialisierung

  Alt 26. Sep 2018, 11:44
Delphi-Version: 10.2 Tokyo
Hallo!

Ich möchte ein in sich verschachteltes array of record in einer Konstantendeklaration initialisieren. In der ersten Ebene kein Problem, in der zweiten mag der Compiler nicht mitziehen:
Delphi-Quellcode:
type
  TheItemKind = (ikNone, ikCheckBox, ikCheckListBox, ikComboBox, ikEdit, ikGroupBox, ikIPAddress, ikSpinEdit);

  TheControlItemDef = record
    Caption: string;
    Kind: TheItemKind;
    KonfigPath: string;
    Childs: array of TheControlItemDef;
  end;

const
  ITEMDEFS: array[0..2] of TheControlItemDef = (
    (Caption: 'Edit1'; Kind: ikEdit; KonfigPath: 'Edit1'),
    (Caption: 'Spin1'; Kind: ikSpinEdit; KonfigPath: 'Spin1'),
    (Caption: 'Gruppe1'; Kind: ikGroupBox; KonfigPath: ''; Childs: (
      (Caption: 'Checker1'; Kind: ikCheckBox; KonfigPath: 'Check1'), // <-- Nach "Caption": "E2029 ')' erwartet, aber ':' gefunden"
      (Caption: 'Checker2'; Kind: ikCheckBox; KonfigPath: 'Check2')
    ))
  );
Ist das innerhalb einer einzigen Konstantendeklaration überhaupt möglich oder muss ich für die Childs erst eine eigene Konstante initialisieren und dann diese Konstante einem Childs-Property zuweisen?

Ziel soll eigentlich sein, eine möglichst kompakte Initialisierung im Code zu haben.

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat