{$IFDEF INTERFACE} { TGAbstractList } TGAbstractList = class private FOnUpdate: TNotifyEvent; function Get(const Index: Integer): Integer; virtual; abstract; function GetCapacity: Integer; virtual; abstract; function GetCount: Integer; virtual; abstract; function GetFirst: Integer; virtual; abstract; function GetLast: Integer; virtual; abstract; procedure Put(const Index: Integer; const AValue: Integer); virtual; abstract; procedure SetCapacity(const AValue: Integer); virtual; abstract; procedure SetCount(const AValue: Integer); virtual; abstract; procedure SetFirst(const AValue: Integer); virtual; abstract; procedure SetLast(const AValue: Integer); virtual; abstract; public type PItem = ^TGListItem; property Count: TGListIndex read GetCount write SetCount; property Capacity: TGListIndex read GetCapacity write SetCapacity; property Items[Index: TGListIndex]: TGListItem read Get write Put; default; property First: TGListItem read GetFirst write SetFirst; property Last: TGListItem read GetLast write SetLast; property OnUpdate: TNotifyEvent read FOnUpdate write FOnUpdate; end; {$UNDEF INTERFACE} {$ENDIF} {$IFDEF IMPLEMENTATION} {$UNDEF IMPLEMENTATION} {$ENDIF}