unit _TreeElement; interface type TTreeElement = class FConnectionID: Integer; function GetChildCount: Integer; virtual; abstract; function GetChild(ID: Integer): TTreeElement; virtual; abstract; function GetCaption: String; virtual; abstract; private public property ConnectionID: Integer read FConnectionID; property ChildCount: Integer read GetChildCount; property Child[ID: Integer]: TTreeElement read GetChild; property Caption: String read GetCaption; end; implementation end.