Versuch es mal so, so sollte es klappen.
Delphi-Quellcode:
type
TCompareItems<T> = function(AItem, BItem: T): Integer of Object;
TSortObjectList<T: class> = class(TObjectList<T>)
procedure QuickSort(Left, Right: Integer; ACompareMethod: TCompareItems<T>); overload;
end;
Wenn Du es in der Typen Deklaration von TSortObjectList läßt, kommt es zu konflikten zwischen den generischen Typen Parametern von TSortObjectList<T> und TCompareItems<T>. Evtl solltest Du mal versuchen TCompareItems<T2> anzulegen.