Einzelnen Beitrag anzeigen

David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#1

Methodenzeiger für Methoden in Klassen/Objekten

  Alt 27. Sep 2012, 17:37
Delphi-Version: XE
Ich habe eine Combobox Komponenten für mehrere Spalten geschrieben. In dieser Komponente gibt es folgende Porperty:

property CustomSortCompareFunction[Index : Longint] : TSortCompare read GetCustomSortCompareFunction write SetCustomSortCompareFunction; Index ist die Spalte.

Das Ganze funktioniert auch super, ABER jetzt will ich die Methode einer Klasse übergeben:

So funktioniert die Zuweisung wenn es eine "eigene" Funktion ist:

Delphi-Quellcode:
function CustomSortCompareFunction(const Str1, Str2: String; SortDirection : TSortDirection): integer;

...

ComboBox.CustomSortCompareFunction[1] := @CustomSortCompareFunction;
aber ich möchte die Funktion an die Klasse binden:

Delphi-Quellcode:
TWertlisteKlasse = class (...)
  function CustomSortCompareFunction(const Str1, Str2: String; SortDirection : TSortDirection): integer;

var
  Wertliste : TWertlisteKlasse;

...

for i := 0 to Wertliste.ColumnCount - 1 do
begin
  ComboBox.AddCol(Wertliste.Column[i]);
end;

...

ComboBox.CustomSortCompareFunction[1] := @Wertliste.CustomSortCompareFunction;
Hat jemand eine Idee wie ich das bewerkstelligen kann?

Danke David
  Mit Zitat antworten Zitat