Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
Delphi 12 Athens
|
AW: Verschachtelte array of record Initialisierung
26. Sep 2018, 13:56
Probier mal eckige statt offene Klammern für das innere Array. Nur sone Idee.
Ist zwar ein guter Ansatz, aber funktioniert leider nicht.
Folgendes könnte man zur Laufzeit machen:
Delphi-Quellcode:
type
TheItemKind = (ikNone, ikCheckBox, ikCheckListBox, ikComboBox, ikEdit, ikGroupBox, ikIPAddress, ikSpinEdit);
TheControlItemDef = record
Caption: string;
Kind: TheItemKind;
KonfigPath: string;
Childs: TArray<TheControlItemDef>;
public
constructor Create(const ACaption: string; AKind: TheItemKind; const AKonfigPath: string; AChilds: TArray<TheControlItemDef> = nil);
end;
constructor TheControlItemDef.Create(const ACaption: string; AKind: TheItemKind; const AKonfigPath: string; AChilds: TArray<TheControlItemDef> = nil);
begin
Caption := ACaption;
Kind := AKind;
KonfigPath := AKonfigPath;
Childs := AChilds;
end;
function Initialize: TArray<TheControlItemDef>;
begin
Result := TArray<TheControlItemDef>.Create(
TheControlItemDef.Create('Edit1', ikEdit, 'Edit1'),
TheControlItemDef.Create('Spin1', ikSpinEdit, 'Spin1'),
TheControlItemDef.Create('Gruppe1', ikGroupBox, '',
TArray<TheControlItemDef>.Create(
TheControlItemDef.Create('Checker1', ikCheckBox, 'Check1'),
TheControlItemDef.Create('Checker2', ikCheckBox, 'Check2')
)
)
);
end;
|
|
Zitat
|