Normalerweise erstellt man eine Klasse um mehrere Instanzen erzeugen zu können die man unabhängig von einander nutzen kann. Bei dir muss man jeder Funktion ein
Handle mit geben so als wären es globale Funktionen. Der Vorteil einer Klasse ist doch eigentlich das eine Klasse sich selbst darum kümmert und icht nicht bei jeder Funktion etwas übergeben muss was schon teil davon ist. Hat man Beispielsweise mehrere Fenster(Listboxen) nutzt man wenn man es richtig macht für jede eine eigene Instanz. Bei der hingegen braucht man gar keine Instanz sondern übergibt jedes mal das
Handle einer Klassfunction. Oder noch schlimmer. Man erstellt eine Instanz und übergibt den Methoden der Instanz ein
Handle einer ganz anderes Listbox. Das so etwas möglich ist zeigt das es nicht ganz passt.
Richtig wäre es wenn eine Methode nur die Parameter braucht welche die Klasse nicht selbst kennt.
Ein weiteres Problem hätte ich mit folgender Methode:
class function GetItemHeight(hList: HWND; ItemHeigh: Integer): Integer;
Der Name drückt aus das ich damit die "ItemHeight" ermitteln kann, jedoch muss ich ItemHeight übergeben
(und eben das übliche das ich das
Handle übergeben muss obwohl als normale Methde (nicht classfunction) das ganze überflüssig wäre.