Note : non standard Latin chars (like Greek, Chinese, Hebrew etc) may look garbled on the web page but the subtitles should be perfectly valid and usable once downloaded.
unit pcArray;
interface
uses pcCBase;
type
TpcArraySortCompare = function(Item1, Item2: Pointer; Cargo: Pointer): Integer;
TpcArrayDeleteEvent = procedure(Sender: TObject; Item: Pointer) of object;
TpcArray = class
protected
FList: PPointerList;
FCount: Integer;
FCapacity: Integer;
FAutoClearObjects: Boolean;
FOnDelete: TpcArrayDeleteEvent;
function Get(Index: Integer): Pointer; virtual;
procedure Grow; virtual;
procedure Put(Index: Integer; Item: Pointer); virtual;
procedure SetCapacity(NewCapacity: Integer);
procedure SetCount(NewCount: Integer);
procedure TriggerDeleteEvent(Item: Pointer); virtual;
class