Es dürfte reichen deiner Methode ein stdcall anzuhängen.
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(MyListcompare);
Sort(MyListSortComparef); //<-- FEHLER: Inkompatible Typen: Reguläre Prozedur und Methodenzeiger
FreeProcinstance(MyListcompareF);
end;
function TMyList.MyListSortCompare(Item1, Item2: Pointer): Integer;
begin
result := MachWas(Item1, Item2, SortedColumn);
end;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.