Timer et fonction membre d'une classe [C, C++] - C++ - Programmation
Marsh Posté le 07-04-2003 à 15:26:32
Tu as essayer de déclarer le SetTimer à l'interieur de ta classe?
Marsh Posté le 07-04-2003 à 15:31:18
billyboy78 a écrit : Je souhaite utiliser un timer dans mon application , j'appelle donc la fonction
|
fais des recherche sur le forum: une callback au sens "C" du terme ne peut pas être une méthode de classe SAUF si celle-ci est statique. Il y a deja eu de nombreux post à ce sujet.
Donc fonction membre statique, dans laquelle tu commence par rechercher l'instance de la classe qui est concernée.
Marsh Posté le 07-04-2003 à 15:32:02
Bounty a écrit : Tu as essayer de déclarer le SetTimer à l'interieur de ta classe? |
Oui oui, en fait l'appel à SetTimer() se fait dans le contructeur de la classe
Marsh Posté le 07-04-2003 à 15:32:19
Bounty a écrit : Tu as essayer de déclarer le SetTimer à l'interieur de ta classe? |
La fonction SetTimer est une fonction de l'API win32...
Marsh Posté le 07-04-2003 à 15:34:11
sowhatin22 a écrit : |
Ok merci je vais regarder de ce coté la, mais que veux tu dire par "rechercher l'instance de la classe qui est concernée"
???
Marsh Posté le 07-04-2003 à 19:11:32
billyboy78 a écrit : |
Quand la méthode statique de la classe est appelée, tu n'as accès qu'aux variables statiques de la classe. Si tu veux excecuter une méthode non statique, et donc reliée à une instance, alors il faut savoir de quelle instance il s'agit. C'est comme une callback de type "C", saut que tu as accès aux membres et méthodes statiques de la classe, qui peuvent être privés et donc inaccessibles si tu utilise une "vraie" callback de type "C".
Marsh Posté le 07-04-2003 à 15:19:34
Je souhaite utiliser un timer dans mon application , j'appelle donc la fonction
Cela marche bien, mais le problème vient du dernier paramètre à fournir qui est une fonction CALLBACK à appeler chaque fois que le timer se déclenche...
Tout fonctionne bien si la fonction est déclarée normalement, mais je veux que cette fonction fasse partie d'une classe qui encapsule plein d'autres choses... mais problème, dans ce cas la, à la compilation il refuse de compiler avec la fonction callback de la classe.
Est ce que quelqu'un sait si on peut le faire d'une part et d'autre part si c'est le cas, comment on peut le faire ???