Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

c++: methode einer klasse als callback-funktion?





Frage

weiß jemand, wie ich eine methode einer klasse (eine objekt existiert) als window-callback-funktion angeben kann. ich krieg da immer einen compiler-fehler (vc6), mit dem ich nix anfangen kann: error C2440: '=' : 'long (__stdcall CDebuginfo::*)(struct HWND__ *,unsigned int,unsigned int,long)' kann nicht in 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)' konvertiert werden Es gibt keinen Kontext, in dem diese Konvertierung moeglich ist

Antwort 1 von RiGo

Wenn ich sowas mache, arbeite ich mit typedef ...

typedef long (FAR PASCAL *FP_OpenPageSetup)(HINSTANCE , HWND , char *);

Aber ich weiss nicht, ob man Methoden von Objekten direkt angeben kann. Vor allem: Auf welche Instanz des Objekts bezieht sich die Methode im Augenblick des Aufrufs?

Ich würde empfehlen, eine Objektreferenz in die Userdaten des Fensters aufzunehmen. Dann kannst Du in der Callbackfunktion auf das Objekt und die Methoden zurückgreifen.

Richie.


Antwort 2 von semi

Schau Dir das hier an http://www.relisoft.com/book/win/2control.html
Dort wird die Callback-Funktion als eine friend-Funktion der Klasse definiert.


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: