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

Composants FMX Delphi Discussion :

TmouseButton et constantes


Sujet :

Composants FMX Delphi

  1. #1
    Membre éprouvé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Points : 1 264
    Points
    1 264
    Par défaut TmouseButton et constantes
    Bonjour à tous,
    question probablement un peu bête masi bon. Comme je bloque...
    Je suis sous FMX et pas sous VCL...
    Voila j'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TFFenetrePerso.ArmureNomMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Single);
    begin
      if button = mbRight then shwomessage('Click droit');
      if button = 1 then shwomessage('Click droit');
      if Button = TMouseButton(1) then showmessage('');
    end;
    La première ligne me colle une erreur de compil mbRight non déclaré. J'ai trouvé la déclaration de TMouseButton dans System.UITypes :
    TMouseButton = (mbLeft, mbRight, mbMiddle);
    Mais nulle part je ne trouve une définition de mbRight. D'ailleurs, ca me fait penser que j'avais eu le même problème avec caFree...
    La seconde ligne me colle un type incompatible (je m'y attendais un peu mais bon qui ne tente rien n'a rien), et la troisième elle fonctionne (normal) mais je trouve super lourd de devoir faire ce genre de bricolage...

    Quelqu'un aurait il des infos sur ces définitions de constantes qui semblent l'être pour l'unité mais qui sont inatteignables dans le code ? Pour être plus précis, je ne trouve nulle part la définition de ces constantes...
    "L'incohérence de ceux qui dirigent et l'incompétence de ceux qui critiquent sont un vibrant hommage à ceux qui exécutent."
    Général George S. PATTON. Messine 1943.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 273
    Points : 628
    Points
    628
    Par défaut
    essaie TMouseButton.mbRight (TMouseButton::mbRight compile en C++)

  3. #3
    Membre éprouvé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Points : 1 264
    Points
    1 264
    Par défaut
    Citation Envoyé par yvslms Voir le message
    essaie TMouseButton.mbRight (TMouseButton::mbRight compile en C++)
    Tu veux dire ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TFFenetrePerso.ArmureNomMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Single);
    begin
      if Button = TMouseButton.mbRight  then showmessage('');
    end;
    Je pense avoir essayé mais de mémoire, il me collait un type incompatible entre Integer et Button...
    Mais je referai un test ce soir...
    "L'incohérence de ceux qui dirigent et l'incompétence de ceux qui critiquent sont un vibrant hommage à ceux qui exécutent."
    Général George S. PATTON. Messine 1943.

  4. #4
    Membre éprouvé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Points : 1 264
    Points
    1 264
    Par défaut
    Ben v'la t-y pas que ça marche "TMouseButton.mbRight"...
    Je crois bien que j'avais tout essayé sauf ça...

    Du coup ca risque d'être pareil pour caFree que j'avais jamais réussi à faire marcher...
    Merci yvslms. Les autres aussi remarque...
    "L'incohérence de ceux qui dirigent et l'incompétence de ceux qui critiquent sont un vibrant hommage à ceux qui exécutent."
    Général George S. PATTON. Messine 1943.

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    En C++Builder, le spécificateur de classe TMouseButton est obligatoire en XE2 car déclaré en enum class.
    une nouveauté du C++0x !
    En Delphi, ils ont reepris la même chose : la coupable, c'est la directive {$SCOPEDEUNMS ON} - Enumérations de portée (Delphi)

    Je sais que mon collègue a pesté contre ça durant la migration de 2007 à XE2 des objets COM car des énumérations sont passées à enum class !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre éprouvé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Points : 1 264
    Points
    1 264
    Par défaut
    Effectivement ca a l'air d'être ça.
    Juste un truc : vous tenez de où ces infos ? Je veux dire y a une bible quelque part ou un truc de ce genre ? Par ce que je suis preneur.
    Me dites pas que c'est le fruit d'un travail de recherche méticuleux dans les méandres de 12350 sites dédiés à Delphi, ça ruinerait tous mes espoirs...
    "L'incohérence de ceux qui dirigent et l'incompétence de ceux qui critiquent sont un vibrant hommage à ceux qui exécutent."
    Général George S. PATTON. Messine 1943.

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut


    J'ai juste ouvert "System.UITypes.pas"
    L'avantage de la version Pro\Ent d'avoir le code !

    Paf, ligne 21 avant la toute première déclaration de type,
    je vois SCOPEDENUMS, le nom de la directive est pile-poil dans le sujet

    "embarcadero SCOPEDENUMS" pouf
    2009 : Scoped Enums (Delphi) - Embarcadero Technologies
    XE2 : Enumérations de portée (Delphi) - Embarcadero Documentation Wiki

    Et sinon, il y a :
    Nouveautés de Delphi et C++Builder 2009 et Enumérations fortement typées (C++0x)
    Nouveautés de Delphi et C++Builder 2010
    Nouveautés de Delphi et C++Builder XE
    Nouveautés de Delphi et C++Builder XE2

    En général, les pages "Nouveautés" indiquent les emmerdes prévisibles que va rencontrer le développeur !

    il y a une grosse par de Chance dans la recherche méticuleuse !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  8. #8
    Membre éprouvé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Points : 1 264
    Points
    1 264
    Par défaut
    Et voila encore un mythe qui s'écroule...
    Bon j'avais moi aussi ouvert le fichier sus-cité, mais je dois avouer que j'ai encore un peu de mal avec les directives de compil dans tous les sens pour XE2.
    Faut dire aussi que comme je consacre environ 5h par semaine à mon activité de développement, je ne consacre probablement pas assez de temps à la spéléologie numérique.
    Je vais essayer de faire un effort, mais je dosi avouer qu'en plus du peu de temps dont je dispose, je suis resté je pense au niveau de Delphi7, n'ayant même pas exploité toute la richesse de D2005 et encore moins de D2007...
    "L'incohérence de ceux qui dirigent et l'incompétence de ceux qui critiquent sont un vibrant hommage à ceux qui exécutent."
    Général George S. PATTON. Messine 1943.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/09/2003, 10h29
  2. requete SELECT avec un nombre constant
    Par gurumeditation dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/07/2003, 20h04
  3. Gestion des constantes
    Par valfredr dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/06/2003, 16h23
  4. [ADO] Constantes des types de champ
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/09/2002, 11h08
  5. Au sujet des constantes
    Par FranT dans le forum Langage
    Réponses: 8
    Dernier message: 09/08/2002, 11h03

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