並べ替えに問題がある型付きTリストがいくつかあります
通常、型指定されていない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関数を使用すると、正しくコンパイルされることを比較しました...