Wie übergebe ich der Funktion SetTimer() eine CALLBACK funktion
-
Hallo zusammen,
wie der Titel schon sagt habe ich ein Problem beim übergeben einer Callback funktion.
Ich rufe die Funktion folgendermassen auf:SetTimer(g_hWnd, TIMER_TOUCHBAR,TOUCHBAR_TIMER_INTERVAL,CTOUCHBAR::TimerProcTouchbar);und möchte das Sie mir die Funktion:
void CALLBACK CTOUCHBAR::TimerProcTouchbar(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime);nach Ablauf des Timers aufruft.
Bei Kompilieren erscheint dann folgende Fehlermeldung:
error C2664: 'SetTimer' : cannot convert parameter 4 from 'void (struct HWND__ *,unsigned int,unsigned int,unsigned long)' to 'void (cdecl *)(struc
t HWND *,unsigned int,unsigned int,unsigned long)'
None of the functions with this name in scope match the target typeWer kann mir dabei helfen?
Gruß
spacehelix
-
Das geht so nicht, da der Parameter eine andere Funktion verlangt. Nimm die Funktion aus der Klasse raus, und alles ist in Butter.

-
Danke schön, das Funktioniert jetzt.
-
normal sollte aber ne Statische Funktion angenommen werden...
-
Ich weiß nicht, wie es in C++ ist, aber unter Delphi haben Methoden einer Klasse noch einen unsichtbaren self-Parameter. Wenn das bei C++ ähnlich ist, kann es nicht gehen, weil die Parameter nicht übereinstimmen (Anzahl, Typen).