Einzelnen Beitrag anzeigen

Schrammel

Registriert seit: 21. Jan 2006
Ort: Koblenz
29 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Callbackfunktion in Klasse

  Alt 16. Okt 2006, 11:28
Der Weg ist relativ einfach, wenn die aufgerufene API-Funktion die möglichkeit bietet, einen Benutzer-definierten 32Bit-Wert zu übergeben,der an die Callback-Fukntion weitergerecht wird. Dann kannst Du folgendes machen:

- Auslagern der Callback-Funktion aus der Klasse
- Aufruf der API-Funktion mit der Adresse der zu verwendenden Klasse als Benutzer-definierter Parameter
- In der Callback-Funktion muss dann der übergebene 32-Wert auf einen Zeiger auf den Klassentyp gecastet werden und schon hast Du die die Adresse der Klasseninstanz, mit der Du arbeiten möchtest!

Achtung: Du must ggf. sicherstellen, dass die Callback-Funktion im gleichen Thread aufgerufen wird, in dem auch der Aufruf der API-Funktion erfolgte, ansonsten kann's zu blöden Fehlern kommen. Aber das ist ein anderes Thema.

Gruß

Stefan Schramm
  Mit Zitat antworten Zitat