<分区>
我有很多类型化的 TList,但我在排序时遇到了问题
通常,对于未类型化的 TList,我会有如下函数:
function SortByJob(Item1: Pointer; Item2: Pointer): Integer;
var
p1, p2: JobPointer;
begin
p1 := JobPointer(Item1);
p2 := JobPointer(Item2);
if p1.job > p2.job then
Result := 1
else
if p1.job = p2.job then
Result := 0
else
Result := -1
end;
会被列表调用
JobList.Sort(SortByJob)
但是我已经决定在我当前的应用程序中我们想要将 TList 锁定到某些指针类型,因此在上面的示例中我们将 JobList 声明为:
JobList: array[0..4] of TList<JobsPointer>;
现在当我打电话
JobList[0].Sort(SortByJob)
我收到“参数不足”错误。
有什么想法吗?
我已经比较过,如果我在非类型化“标准”TList 上使用上面的 Sort 函数,那么它将正确编译...