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

 Delphi Discussion :

Paramètre de fonction


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Paramètre de fonction
    Bonjour a tous.

    J'ai une petite question assez béte mais qui me pourrit la vie.

    je veux utiliser la procédure suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure Button1Click(Sender: TObject)
    J'ai donc mit dans mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         Button1Click();
    Mais que dois-je mettre en parametres, car à la compilation
    j'ai le message suivant :
    [Erreur] Unit1.pas(351): Pas assez de paramètres originaux
    "

    Merci !

    Reynald.

  2. #2
    Membre confirmé
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Points : 600
    Points
    600
    Par défaut
    Essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TreeView1Click(Sender);
    ----------------------------------------------------
    Avant de poster, pensez à utiliser les différents outils à votre disposition:
    Google, la FAQ et le moteur de recherche.

  3. #3
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    La definition d'un evenement de type Click est :
    Procedure (Sender : TObject) of Object;
    Donc le parametre est l'objet qui a declanché l'evenement (ie : Appelé la methode)

    Donc la plupart des cas c'est "Sender" car on l'appele depuis un autre evenement (donc on l'objet qui declanche manuelement le clic est le meme que celui qui a declanché l'evenement en cours).

    Sinon on met Self, c'est a dire d'objet qui execute la methodedans laquelel on appele l'evenement Click.

    Enfin, si on l'appelle depuis une procedure "libre" (non methode d'objet) ou bien que l'on souhaite simuler une action sur un objet, on met "nil" (si on a pas besoin de connaitre l'objet declancheur) ou une variable derivant de TObject (si on souhaite faire croire que l'objet qui a declanché l'evenement et cet objet.)
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  4. #4
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    C'est déjà trés bien expliqué peut être que je vais faire de trop, mais c'est pour mieu t'orienter.
    Tu peux mettre aussi en argument le nom de ton boutton bouton1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Button1Click(Button1);
    car si tu aurais l'idée d'affecter ce même événement à plusieurs objet et que tu auras a tester sur l'objet ayant effectué l'évenement tu testera surement sur sender Comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure Button1Click(Sender: TObject);
    begin
      if sender = Button1 then 
      begin
       {.......}
      end
      else
      if sender = TreeView1 then
      begin
       {.......}
      end
    {... et ainsi de suite}
    end;
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

  5. #5
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 152
    Points
    10 152
    Par défaut
    Tout ce qui a été dit plus haut est vrai, cependant là je crois qu'on t'embrouille plus qu'on ne te donne de solution.
    A moins que tu ne te serves du paramètre Sender dans la proc que tu appelles, passe nil comme argument :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Button1Click&#40;nil&#41;;
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci Beaucoup

    ça marche

    Reynald.

  7. #7
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    A moins que tu ne te serves du paramètre Sender dans la proc que tu appelles, passe nil comme argument :
    En effet .... mais personnelement je prefere qu'on passe plus de temps a trouver la solution mais en ayant compris pourquoi on met "ca" et pas "ca" ... plutot que mettre en place une solution "miracle" qui marche sans vraiement avoir compris pourquoi ;p
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

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

Discussions similaires

  1. [VBA] Envoyer un listBox en paramètre à une fonction
    Par kissmytoe dans le forum Access
    Réponses: 8
    Dernier message: 13/03/2006, 21h28
  2. Réponses: 10
    Dernier message: 04/01/2006, 17h57
  3. liste énumérée de const. perso comme paramètre de fonction
    Par batou22003 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 13/12/2005, 21h37
  4. Paramètres de fonction : pointeurs ou valeurs ?
    Par Xandar dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/11/2005, 17h50
  5. Retrouver les valeurs des paramètres des fonctions d'une DLL
    Par Bernard Martineau dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2005, 11h42

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