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 :

Procedure pour OnTime [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de JP.NUAGE
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 83
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 777
    Par défaut Procedure pour OnTime
    Bonjour à tous

    Il y a dans Delphi une possibilité intéressante : mettre un nom de procédure dans l'évènement onTimer d'un Timer à l'exécution, ce qui évite d'avoir x composants Timer. Or si je codifie en Lazarus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Timer1.Enabled := true;
    Timer1.onTimer := MaPorcedure;
    j'ai une erreur de compilation. pourtant, j'ai bien ceci pour MaProcedure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure MaProcedure(Sender: TObject);
    et l'équivalent dans le programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TMaForme.Maprocedure(Sender: TObject);
    begin
    // mon code
    end;
    Bien sûr, si je mets dans le composant Timer ce nom dans l'évènement OnTimer, cela fonctionne, mais j'aimerais éviter de coller 15 composants Timer s'il existe une solution analogue à celle de Delphi

    Merci pour toute suggestion

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    Lazarus ne gère pas aussi simplement/implicitement les affectations de fonctions que Delphi : il faut passer l'adresse de la procédure ; essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Timer1.onTimer := @MaProcedure;
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre éclairé
    Avatar de JP.NUAGE
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 83
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 777
    Par défaut
    En effet, cela fonctionne parfaitement ! Merci tourlourou

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

Discussions similaires

  1. procedure pour bloquer des boutons
    Par Aos dans le forum Delphi
    Réponses: 41
    Dernier message: 30/04/2007, 18h58
  2. procedure pour acceder au contenu d' un dossier
    Par boudji dans le forum JBuilder
    Réponses: 1
    Dernier message: 13/09/2006, 12h37
  3. Procédure pour ajouter une contribution ?
    Par fabule dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 1
    Dernier message: 30/08/2006, 12h41
  4. Réponses: 7
    Dernier message: 20/06/2006, 15h40
  5. Réponses: 4
    Dernier message: 21/02/2006, 19h26

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