Programmation C++

Signaler
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008
-
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008
-
Bonjour

Un peu de code d'abord :

class A
{
public :

LRESULT CALLBACK proc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);

A()
{
WNDCLASS wc;
wc.lpfnWndProc = (WNDPROC)proc; // <- Erreur a la compilation
...
}
};

Voila j'ai une erreur quand je compile ce code
Quelqu'un peut me dire pourquoi ? Merci

5 réponses

Messages postés
700
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
27 janvier 2009
4
salut,
ta fonction CALLBACK doit etre déclarée en statique

a+
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008

Le probleme c'est que je voudrais pouvoir modifier les attributs de la classe A dans la fonction "proc" et si elle est statique je ne paurrais pas le faire.

Si quelqu'un a une solution ...
sinon je me debrouillerait autrement tant-pis
Messages postés
337
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
15 avril 2006

Le problème est bien là... Tu peux faire ça en orienté aspect mais en orienté object c'est autre chose. C'est comme si tu etait devant un parking plein et tu demandais à quelqu'un d'alumer les phares de ton auto sans lui dire laquel est la tienne...

Une solution serais de le déclarer static et demander dans les arguments un pointeur vers l'instance de l'objet a modifier... mais vu la tete de ton callback...

XbY
-----
Admin du projet PrintTemplate
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
28
ymca2003 a donné plusieurs fois l'exemple, faut fouiller dans ses réponses forum.
Y est d'ailleurs surement aussi dans ses sources.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008

Je viens de m'appercevoir que j'avais la reponse dans mes vieux cours de programmations ...
Merci quand meme pour toutes ces precisions.