Stano 143 Posted May 21, 2023 I have three very similar classes. For one is an announcement: Unsorted classes -> TTableGroup is not sorted This is not true. I don't see a reason for it and I can't find a cause. When sorted, it looks like this: TTableGroup = class(TVstTableData) strict private FcbxFilterByCountry: TAdvComboBox; FFieldFilterByCountry: TList<TField>; FFreeMember: TFreeMember; FGroupData: PTableData; FMemberData: PTableData; FMemberID: TList<Integer>; FShowDates: TAdvOfficeCheckBox; procedure FilterByCountryChange(Sender: TObject); procedure GetComponents(const Form: TForm); procedure GetFMemberIsInGroup; protected strict protected FMissingMember: TList<PVirtualNode>; FqryFilterByCountry: TFDQuery; FQryIns: TFDQuery; procedure CreateSQL; override; procedure FillFilterByCountry; procedure SetParams; virtual; abstract; protected procedure GetForm; procedure SetEvents; procedure SetMemberInGroupData(const I, PKeys: Integer; const MemberData: PTableData); procedure SetVst; procedure ShowDatesClick(Sender: TObject); procedure VstChange(Sender: TBaseVirtualTree; Node: PVirtualNode); procedure VstCompareNodes(Sender: TBaseVirtualTree; Node1, Node2: PVirtualNode; Column: TColumnIndex; var Result: Integer); procedure VstDragAllowed(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; var Allowed: Boolean); procedure VstDragDrop(Sender: TBaseVirtualTree; Source: TObject; DataObject: IDataObject; Formats: TFormatArray; Shift: TShiftState; Pt: TPoint; var Effect: Integer; Mode: TDropMode); procedure VstDragOver(Sender: TBaseVirtualTree; Source: TObject; Shift: TShiftState; State: TDragState; Pt: TPoint; Mode: TDropMode; var Effect: Integer; var Accept: Boolean); procedure VstFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode); procedure VstGetNodeDataSize(Sender: TBaseVirtualTree; var NodeDataSize: Integer); procedure VstGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string); procedure VstIncrementalSearch(Sender: TBaseVirtualTree; Node: PVirtualNode; const SearchText: string; var Result: Integer); procedure VstInitNode(Sender: TBaseVirtualTree; ParentNode, Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates); public constructor Create(const ANavigator: TjstFDNavigator); override; destructor Destroy; override; procedure FillVst; override; property FreeMember: TFreeMember read FFreeMember write FFreeMember; end It's created protected there, which I don't want. The whole unit is attached RelationTree.pas Share this post Link to post
Stano 143 Posted May 22, 2023 I've already found the bug. I had the word protected after the procedure declaration. On one line. Share this post Link to post