Versuchs mal mit TDelegatedComparer<TDataItem>.Create statt Construct.
und ich meine die ; in der inneren Function dürfen nicht sein (kann mich aber täuschen):
Delphi-Quellcode:
ListModifiedComparer := TDelegatedComparer<TDataItem>.Create(
function(const L,R:TDataItem): integer
begin
Result := 0;
if (L.Modified > R.Modified) then Result := 1
else if (L.Modified < R.Modified) then Result := -1;
end
);