Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.028 Beiträge
 
Delphi 12 Athens
 
#8

AW: Verschachtelte array of record Initialisierung

  Alt 26. Sep 2018, 12: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;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat