Das klappt so leider auch nicht. Es kommt ein neuer Fehler:
Delphi-Quellcode:
TMyList = class(TList)
private
SortedColumn: Integer;
function MyListSortCompare(Item1, Item2: Pointer): Integer; stdcall;
public
procedure SortByColumn(Column: Integer);
end;
procedure TMyList.SortByColumn(Column: Integer);
var MyListComparef:function(Item1,Item2:Pointer):integer;
begin
SortedColumn := Column;
MyListcomparef:=MakeProcInstance(MyListSortCompare); //<-- Fehler: Nicht genügend wirkliche Parameter
Sort(MyListSortCompare);
FreeProcinstance(MyListcompareF);
end;
function TMyList.MyListSortCompare(Item1, Item2: Pointer): Integer;
begin
result := MachWas(Item1, Item2, SortedColumn);
end;