Bonjour � tous,
je cherche a cr�er une m�thode dans une class cr��e par mes soins, mais cela ne marche pas...
Voici le principe:
Cette class doit utiliser une objet qui genere automatiquement des appels de m�thodes. Pour faire simple, prenons l'exemple de TTimer.
Si ma class (auquelle on pourait donner le doux nom de 'Pouet') comporterait un Timer et que dans la fonction OnTimer de ce m�me timer, je voudrais cr�er une m�thode pour qu'elle soit accessible depuis la fiche utilisant la classe 'Pouet'...
D'un point de vue code, j'en suis l� (cela parmetera peut �tre d'�claircir mon pb ):
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Pouet{
    private:
        TTimer  *  timer;
        int           rslt;
        void __fastcall TimerOnTimer(TObject *Sender){
                /* Tout pleins de calculs ;) */
                if(OnInfo) OnInfo(rslt);
        };
    public:
        Pouet(TComponent* AOwner) { // constructeur
            timer = new TTimer(AOwner);
            if(timer) {
                timer->OnTimer = TimerOnTimer;
                timer->Enable = true;
            }
        };
        ~Pouet() { // Destructeur par d�faut
            if(timer){
                timer->Enabled = false;
                delete timer;
            }
        };
        // Pointeur vers une fonction
        void *OnInfo(int pouet);
};
Et du cot� de la Form utilisant cette belle class Pouet:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
 
    Pouet * p = NULL;
    p= new Pouet (this);
    if(p)
        p->OnInfo= OnPouetInfo;
Avec OnPouetInfo d�clar� comme tel:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
void OnPouetInfo(int info);
Bien �videment, cela ne marche pas (je ne serais pas ici sinon ) et j'ai essay� moultes variantes en vain...
Je fais donc apelle � votre savoir et votre exp�riance

Merci pour votre aide!

PS: il y a peut �tre deux trois erreurs dans le code retranscrit plus haut dues � un mauvais recopiage et/ou simplification