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 :

Pointeur de fonction événement. [Non suivi]


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Par défaut Pointeur de fonction événement.
    Bonjour

    J'essaie vainement de trouver une documentation claire sur mon problème :

    Je voudrais écrire un pgm ne faisant pas appel à l'interface graphique (pas de Form) mais qui utilise certains composants "non visuels" habituellement utilisé sur une interface graphique (par exemple un TTimer).

    Je prends pour la suite l'exemple du Timer...
    Avec un formulaire, je peux simplement définir sur l'événement OnTimer de mon TTimer, la fonction Timer1Timer (via l'ide Borland).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void __fastcall TForm1::Timer1Timer(TObject *Sender)
    {
        // instructions.
        return ;
    }
    Je voudrais donc utilise ce composant TTimer dans une fonction main (par exemple), et lui définir sur son événement OnTimer l'appel d'une fonction.
    Mais je n'y arrive pas. (je rappelle que je suis sur un module de type console).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int main(int argc, char* argv[])
    {
        TTimer * Timer1 ;
     
        Timer1->OnTimer = ???
        return 0;
    }
    Merci de m'aider.
    Alain as Bartman.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Donc reprenons dès le départ:

    Tu as construit ton projet Console et prenant soins de cocher utilisation de la VCL.

    Tu te retrouves avec ta fonction principale Main(..).

    et tu rajoute dans ton projet un cadre (Frame), dans lequel tu dépose ton composant TTimer.

    Tu l'utilise ensuite comme sur une fiche classique (sauf que le cadre ne s'affiche pas).

    prends soins d'incorporer les .h de tes frames et ça roule.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Par défaut Pointeur de fonction événement.
    Citation Envoyé par Fbartolo
    Donc reprenons dès le départ:
    Tu as construit ton projet Console et prenant soins de cocher utilisation de la VCL.
    Tu te retrouves avec ta fonction principale Main(..).
    et tu rajoute dans ton projet un cadre (Frame), dans lequel tu dépose ton composant TTimer.
    Tu l'utilise ensuite comme sur une fiche classique (sauf que le cadre ne s'affiche pas).
    prends soins d'incorporer les .h de tes frames et ça roule.
    Non non pas du tout...
    Je veux construire une console qui utilise un TTimer, mais pas de TForm.
    Je déclare donc explicitement le TTimer dans mon code (Cf. main).
    Le but est de paramétrer et donc d'armer l'événement OnTimer du TTimer sur l'appel d'une fonction "à moi" que je définis par ailleurs.
    Et c'est là que se situe mon pb : comment on fait pour la déclaration et l'affectation du pointeur sur fonction...

    Merci.

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par défaut
    Hello

    Rien ne t'empêche d'avoir une appli console avec un TForm invisible. Tu mets Application->ShowMainForm=false dans le .cpp principal, et ça roule.
    Si l'idée t'avoir un bout de composant visuel dans ton appli te gêne, tu peux toujours utiliser un TDataModule, ce n'est rien de plus qu'un conteneur pour des composants non visuels...

    A++

  5. #5
    Membre confirmé Avatar de Poilou
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 59
    Par défaut Re: Pointeur de fonction événement.
    Citation Envoyé par Bartman

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int main(int argc, char* argv[])
    {
        TTimer * Timer1 ;
     
        Timer1->OnTimer = ???
        return 0;
    }
    Je ne sais pas si ça marche sur autre chose qu'une Form mais moi ,pour exemple, j'affecte un code à mes images dynamiques sur le OnClick

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TImage* Image = new TImage(0);    
    [...]
    Image->OnClick = ClicSurImage;
    [...]
    Et a coté je crée une fonction..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __fastcall TForm_VisuEns::ClicSurImage(TObject *Sender)
    {
      //Instructions
    }
    Par contre il faut que ta fonction ait les mêmes paramêtres que le OnTimer de l'inspecteur d'objets...

    Si ça peut t'aider...

Discussions similaires

  1. opengl et pointeur de fonction
    Par Oldhar dans le forum C
    Réponses: 5
    Dernier message: 06/11/2003, 23h56
  2. Declaration de fonction retournant un pointeur sur fonction
    Par pseudokifaitladifférence dans le forum C
    Réponses: 5
    Dernier message: 11/08/2003, 19h37
  3. Matrice de pointeurs de fonctions
    Par sebduth dans le forum C
    Réponses: 15
    Dernier message: 18/07/2003, 14h03
  4. [Kylix] Pointeur de fonctions
    Par _dack_ dans le forum EDI
    Réponses: 1
    Dernier message: 03/07/2003, 10h17
  5. pointeur de fonction
    Par kardath dans le forum C
    Réponses: 4
    Dernier message: 28/12/2002, 14h39

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