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

Lazarus Pascal Discussion :

Problème d'appel d'évènement [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut Problème d'appel d'évènement
    Bonsoir à toutes et à tous,

    J'ai créé un composant qui à la configuration suivante :

    Dans l'unité Unit1, qui est "registred", j'ai le composant (qui sera appelé) :
    TChercher = class(TComponent).

    Ce composant, va appeler une composant TAffDialog = class(TForm) dans une unité Unit2. Dans ce TAffDialog, j'ai un bouton avec son évènement OnClick.

    Mon problème : Je voudrais que dans la partie "published" de TChercher il y ait un évènement que l'on voit dans l'inspecteur d'objet et que cet évènement soit déclenché lorsque je clique sur le bouton de mon TAffDialog.

    Je tourne un peu (beaucoup à vrai dire) en rond.

    Pourriez-vous m'aider et me dire comment on fait ?

    Je vous en remercie par avance.

    Pierre

  2. #2
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour

    Si j'ai bien compris ton besoin, il suffit que TAffDialog puisse accéder à l'événement défini dans TChercher.

    Il y a au moins deux solutions :

    1) Déclarer une variable globale du même type evenement dans TAffDialog, et lui assigner celle de l'objet TChercher avant qu'il créee ou affiche la Form. Ce n'est pas le plus académique... C'est plus facile si c'est un type événement prédéfini par Lazarus.

    2) Faire un use de l'unité qui définit TChercher dans la partie implémentation de TAffDialog (Pas dans l'interface pour ne pas tourner en rond). Si TAffDialog peut accéder à TChercher, notamment si c'est son parent, ou d'une autre manière, il pourra accéder à l"événement.

    Dans les 2 cas, TAffDialog connaîtra (l'adresse de) l'événement à lancer depuis le bouton. Je suppose que tu sais faire à partir le là. Sinon n'hésite pas à préciser où tu bloques.
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  3. #3
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Merci tintinux pour les pistes que tu me donnes. Je voulais éviter la deuxième que tu proposes. Finalement, j'y suis arrivé de la manière suivante :

    Dans TChercher j'ai placé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     published
         property OnSuivant: TNotifyEvent read FOnSuivant write FOnSuivant;
    puis, dans une procédure précédent la mise en oeuvre de TAffDialog j'ai assigné à l'évènement OnClick du bouton (que j'ai appelé "Suivant") la propriété OnSuivant de TChercher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TChercher.ShowModal;
    begin
      with AffDialog do
      begin
         ....
         Suivant.OnClick:= OnSuivant;                                {Assignation}
      end;
      AffDialog.ShowModal;
    end;
    Voilà. Ça fonctionne bien.

    Merci encore.

    Pierre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/10/2011, 20h27
  2. Problème d'appel d'affichage de messages dans évènement TUpDown
    Par the_clansman dans le forum Composants VCL
    Réponses: 16
    Dernier message: 04/02/2008, 17h13
  3. Autre contexte mais tjs problème d'appel fct interne
    Par Neilos dans le forum C++Builder
    Réponses: 1
    Dernier message: 28/08/2004, 13h51
  4. [DLL] problème pour appeler une fonction d'une DLL
    Par bigboomshakala dans le forum MFC
    Réponses: 34
    Dernier message: 19/07/2004, 11h30
  5. Réponses: 4
    Dernier message: 19/04/2004, 13h41

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