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 :

TButton : nombre maximum par fiche - lancer une procédure lorsqu'on clique ou lorsqu'on relâche le bouton


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2010
    Messages : 41
    Par défaut TButton : nombre maximum par fiche - lancer une procédure lorsqu'on clique ou lorsqu'on relâche le bouton
    Bonsoir,

    j'ai 2 questions concernant ce composant (le TButton):
    1) Je réalise une interface graphique avec de nombreux boutons (j'en suis à 12) et je viens de rajouter un 13ème bouton. Jusqu'à maintenant, tout s'est bien passé. Je double-clique sur ce 13ème bouton pour écrire dans la procédure de clic sur le bouton, mais là, la procédure ne se crée pas et j'ai un message d'erreur: "L'éditeur de composants de la classe "TDefaultComponentEditor" a provoqué l'erreur: "Impossible de trouver la méthode. Veuillez corriger l'erreur affichée dans la fenêtre de messages."".

    Ma fenêtre de message affichant: "unité.pas(8.20) Error: source de l'unité monrépertoire\fpc\2.2.4\units\i386-win32\rtl\sysutils.ppu non trouvé."

    Cependant, mes autres boutons me placent toujours dans la procédure de clic à chaque fois que je double-clique sur eux et fonctionnent toujours. Je suis allée vérifier le fichier correspondant dans le dossier indiqué, et il est bien là...

    Est-ce parce que une fiche ne peut contenir qu'un nombre limité de boutons? :o



    2) Autre question: Y a-t-il un moyen avec Lazarus, de lancer une procédure lorsqu'on clique sur un bouton et une autre procédure lorsqu'on le relache? (en fait, je voudrais afficher une composante graphique lorsque je clique sur le bouton et le maintiens, et le faire disparaître dès que je relache le bouton).




    Merci d'avance !!

  2. #2
    Membre confirmé Avatar de danucc
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 70
    Par défaut
    Bonjour,

    Utiliser l'événement OnMouseDown et OnMouseUp.
    Pour cela, sélectionner le bouton puis aller dans l'inspecteur d'objets, sélectionner l'onglet Événements, cliquer à droite de la colonne Action.

    Les procédures seront crées, il suffit alors d'écrire le code.

    Danilo

  3. #3
    Membre émérite Avatar de DOLPat®
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 426
    Par défaut
    Citation Envoyé par chrysbi Voir le message
    1) Je réalise une interface graphique avec de nombreux boutons (j'en suis à 12) et je viens de rajouter un 13ème bouton. Jusqu'à maintenant, tout s'est bien passé. Je double-clique sur ce 13ème bouton pour écrire dans la procédure de clic sur le bouton, mais là, la procédure ne se crée pas et j'ai un message d'erreur: "L'éditeur de composants de la classe "TDefaultComponentEditor" a provoqué l'erreur: "Impossible de trouver la méthode. Veuillez corriger l'erreur affichée dans la fenêtre de messages."".
    Bonjour

    Cela ne vient pas du nombre de boutons. Je viens de créer une fiche avec 18 TButton ayant chacun leur procédure OnClic et cela fonctionne parfaitement. (Lazarus 0.9.31)

  4. #4
    Membre émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Par défaut
    Bonjour,

    j'ai un message d'erreur: "L'éditeur de composants de la classe "TDefaultComponentEditor" a provoqué l'erreur: "Impossible de trouver la méthode. Veuillez corriger l'erreur affichée dans la fenêtre de messages."".
    Il y a une erreur de syntaxe dans le source qui ne permet plus à Lazarus d'insérer la procédure qui doit traiter l'évènement, ou sa déclaration.

    Lis bien l'erreur affichée dans la fenêtre de messages et essaie de corriger jusqu'à compiler sans erreur avant d'ajouter le 13ème bouton.

    Essaie de formater le source avec CTRL-D, cela peut aider ou donner d'autres indications (avec 0.9.30, ou 0.9.28 Windows seulement).

    Cherche et met entre commentaires les procédures concernant le 12ème bouton, ou les précédents, en regardant si cela compile mieux...

    PS : un formulaire avec 13 boutons ou plus, ce n'est pas très ergonomique et devrait je pense être évité, sauf tous tes utilisateurs sont pilotes d'avions...

  5. #5
    Membre émérite Avatar de DOLPat®
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 426
    Par défaut
    Citation Envoyé par tintinux Voir le message
    PS : un formulaire avec 13 boutons ou plus, ce n'est pas très ergonomique et devrait je pense être évité, sauf tous tes utilisateurs sont pilotes d'avions...
    Bonjour

    Sauf que dans certains cas, on ne peut pas s'en passer. Compte le nombre de boutons présent sur la calculette de Windows
    Par contre on peut certainement regrouper leur traitement car cela fait un paquet de procédures qui va rendre le code long...

  6. #6
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Par défaut
    j'ai une appli en cours d'encaissement avec écran tactile.
    Dans un TNoteBook de 7 page, j'ai 25 boutons par page Et malgré cela, je n'ai qu'une procédure pour les gérer tous (un anneau pour les contrôler tous .... hum je m'égare)

    L'astuce : j'ai nommé tous ces boutons d'une manière très logique : BTN_PXY. P représente le numéro de page, X la colonne dans la page et Y la ligne.
    Dans les procédures des événements, tu as toujours 'sender: TObject' passé en paramètre, et donc tu peux accéder au sender.name, convertir le PXY en entier, et faire un case !

    Autre astuce possible : utiliser la propriété TAG, qui est directement un entier

  7. #7
    Membre émérite Avatar de DOLPat®
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 426
    Par défaut
    Citation Envoyé par mtournay Voir le message
    Autre astuce possible : utiliser la propriété TAG, qui est directement un entier
    Et le must, c'est de créer les boutons dans le Create de la fiche, cela permet d'un coup de les positionner, de les dimensionner et d'initialiser la propriété TAG. Et ceci s'en s’embarrasser de devoir les positionner manuellement dans l'EDI.

Discussions similaires

  1. lancer une procédures stoquées par deux threads
    Par Zied Ouardani dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/01/2008, 20h40
  2. Lancer une procédure avec un paramètre (débutant)
    Par Daniel MOREAU dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 27/10/2006, 15h48
  3. [VBA-A] Lancer une procédure d'une application ArcMap
    Par TiT0f dans le forum VBA Access
    Réponses: 11
    Dernier message: 05/06/2006, 23h44
  4. Réponses: 4
    Dernier message: 25/10/2005, 10h36
  5. Réponses: 2
    Dernier message: 19/03/2005, 17h09

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