Code:
class function CompareKey1(Item1, Item2: TObject): Integer; static;
Error: "Field definition not allowed after methods or properties."
Compiliert leider nicht...?!
Ich habe mich inzwischen übrigens so beholfen, dass ich den QuickSort-Algorithmus aus Classes.pas kopiert habe und ihn als neue QuickSortByMethod()-Methode direkt in mein TMyObjectList implementiert habe. Diese Methode nimmt jetzt auch Compare-Methoden an und nicht nur normale Funktionen. Dann habe ich gleich noch eine SortOrder ergänzt, so dass das ganz praktisch ist.
Dennoch, es scheint so zu sein, als ob ausgerechnet eine so wichtige Klasse wie TList nicht vollständig objektorientiert implementiert wurde (zumindest in Delphi 6, das ich verwende). Eigentlich ziemlich seltsam.
Aber vielleicht gibt es ja doch eine Lösung, die ich nicht erkenne...
Frei herumfliegende Funktionen quasi gedanklich einer bestimmten Klasse zuzuordnen, kommt mir wirklich merkwürdig vor. Haben die sich das wirklich so gedacht?