Taz a écrit :
s'il en a besoin, il en a besoin. pour ton histoire de A/B, tu va vite être un peu ennuyé, les pointeurs de fonctions membres ne sont pas des pointeurs de fonctions classiques et ne sont pas liés à this. il faut faire un compromis PMF / template la plus part du temps. donne un exemple d'utilisation de ce que tu veux faire ?
|
PMF?? kesaco?
Je vais essayer d'expliquer ce que je veux faire:
j'ai une classe Video qui me permet de manipuler une vidéo (en gros comme le media player), et qui a une fonction Change_Video, appellant elle même 2 autres fonctions de VideoAffich, permettant de faire un reset de la vidéo affichée, et de charger la nouvelle vidéo.
Code :
- class TVideoAffich : public TForm
- {
- private:
- //...
- public:
- //...
- void __fastcall Change_Video(const WideString & path_video);
- };
|
J'ai une classe Capture qui me permet de faire l'acquisition d'une vidéo depuis une caméra DV par exemple:
Code :
- class TVideoCapture : public TForm
- {
- private:
- //...
- public:
- //...
- };
|
J'ai une classe Indexation qui stocke dans une base de données des événements liés à cette vidéo, et qui utilise les classes précédentes.
Code :
- class TSaveData : public TForm
- {
- private:
- //...
- TVideoAffich *Video;
- TVideoCapture *Capture;
- public:
- //...
- };
|
J'ai une autre classe d'indexation des données, proposant un enregistrement plus sommaire des données, selon le choix de l'utilisateur, mais qui utilise aussi Video et Capture.
Je voudrais que la classe Capture puisse appeller la fonction Video::Change_Video sans être dépendante des classes d'indexation...
J'avais pensé à deux solutions: transmettre à Capture un pointeur vers l'objet Video, afin que Capture puisse appeller la fonction Change_Video, ou bien créer un pointeur de fonction vers Change_Video. Mais je ne sais pas si cette deuxième solution est viable.