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