Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#8

Re: Hook in Klasse einbinden...

  Alt 28. Aug 2005, 20:31
Also...

Das Problem ist, dass die Win32-API-Funktion eine Callback-Funktion mit einem bestimmten Funktionstyp erwartet. Methoden haben aber einen impliziten ersten Parameter (Self). Es nutzt also nichts, die Methode an die API-Funktion weiterzugeben, da sie immer inkompatibel ist.
Die Lösung besteht nun darin, eine Funktion zur Laufzeit zu erzeugen (da Self nicht statisch ist), welche aufrufkompatibel zur API-Funktion ist und nichts anderes macht, als deine gewünschte Methode in der Klasse aufzurufen. Es gibt dann also zwei Callback-Funktionen: eine Callback-Methode und eine Callback-Funktion (die wiederum nur die Methode aufruft).

Am besten siehst Du dir das Beispiel im o.g. Thead an.
( http://www.delphipraxis.net/internal...=387139#387139 )
  Mit Zitat antworten Zitat