IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Probl�me pointeur de fonction


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 61
    Par d�faut Probl�me pointeur de fonction
    Salut!
    Je me lance dans les pointeurs de fonctions, et je bloque

    Dans mon projet, j'ai une Unit1 et un threat TThread.
    Mon but, est de pouvoir appeler des fonctions de Unit1 dans mon TThread sans devoir le r�f�rencer.
    On m'a dis de me tourner vers les pointeurs de fonctions:

    Unit1.h
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    void __fastcall PbarBegin(int AWorkCountMax);
    void (*p_f1)(int);
    Unit1.cpp
    Malheureusement, j'ai le droit � cette belle erreur :
    Impossible de convertir 'void (_fastcall TForm1::*)(int)' en 'void (*)(int)'

    Est ce que vous pouvez m'�clairer ?

    Merci

  2. #2
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    Alors,
    si je ne m'abuse, il faut d�clarer un type pointeur de fonction :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    typedef void ( __closure *ptr_int)(int);
    A partir de l� tu pourras par exemple d�finir un proto de fonctionn qui y ferait appel :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    mon_proto(ptr_int fpoint);
    � l'appel tu pourras faire ceci :
    et ta fonction fera :
    en esp�rant ne pas me tromper et que �a t'aide

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 61
    Par d�faut
    Merci Say!

    Par contre, je ne comprends pas ton proto

  4. #4
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    en fait, c'est un exemple d'une fonction qui prendrait un pointeur de fonction en param�tre, ce qui me semblait adapt� pour ton thread.

  5. #5
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par d�faut
    Bonjour,
    je ne suis pas un crack de l'informatique mais il me semble qu'il est possible d'initialiser le pointeur sur fonction sans utiliser __closure.
    Je pense qu'il faudrait �crire:au lieu deD'apr�s ce que je crois savoir, le nom de la fonction � la valeur d'un pointeur sur cette fonction.
    A voir...

  6. #6
    say
    say est d�connect�
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    1 176
    D�tails du profil
    Informations personnelles :
    �ge : 47
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 1 176
    Par d�faut
    perso, si j'ai fait �a, c que �a ne marchait pas

    apr�s c'est des suggestions, je peux �tre � c�t� de la plaque

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 61
    Par d�faut
    Merci les gars, je vais voir ce que je peu faire.


    Rtg57, moi si je fais �a, �a me fait une erreur...

  8. #8
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par d�faut
    Bonjour,

    effectivement avec CBuilder, la syntaxe que je proposait ne fonctionne pas.
    Il faut utiliser __closure (On en apprend tous les jours).
    Merci � Say

Discussions similaires

  1. Probl�me Pointeur de fonction
    Par olivier21c dans le forum C++
    R�ponses: 6
    Dernier message: 06/10/2014, 14h05
  2. Probl�me pointeurs et fonctions
    Par crimetime dans le forum D�buter
    R�ponses: 10
    Dernier message: 25/06/2010, 13h40
  3. R�ponses: 4
    Dernier message: 10/12/2009, 00h45
  4. Probl�me pointeur sur fonction static
    Par Julien_C++ dans le forum C++/CLI
    R�ponses: 5
    Dernier message: 11/01/2008, 19h26
  5. Probl�me: pointeur de fonction � partir d'un namespace
    Par akileaQu�bec dans le forum C++
    R�ponses: 8
    Dernier message: 09/10/2007, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo