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 :

MessageDlg, avoir autre chose que OK


Sujet :

Composants FMX Delphi

  1. #1
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut MessageDlg, avoir autre chose que OK
    Bonjour tout le monde,

    Je me trouve face à un problème. Quelque soit le type de bouton que je définis dans MessageDlg, j'ai toujours un bouton OK qui s'affiche.
    J'ai testé avec un programme basique:une fiche un bouton qui affiche 'Hello world'.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm2.Button1Click(Sender: TObject);
    begin
          MessageDlg('',TMsgDlgType.mtError,[TmsgDlgBtn.mbCancel],0);
    end;
    La boite de message qui s'ouvre affiche un bouton OK. J'ai essayé tous les type de boites de mtCustom à mtWarning pour vérifier, c'est pareil.
    J'ai essayé aussi avec mbNo et mbYes, c'est pareil!
    Comme je suis joueur, j'ai essayé de remplacer
    par
    Pas mieux
    Je n'ose pas imaginer qu'il s'agit d'un vrai bug (en même temps avec tout ce que je découvre comme régressions depuis quelques temps.... )
    7 fois à terre, 8 fois debout

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour ,

    étrangement avec 2 boutons même problème mais à partir de 3 cela fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MessageDlg('', TMsgDlgType.mtError, [TmsgDlgBtn.mbYes,TmsgDlgBtn.mbCancel], 0); // Juste OK
    MessageDlg('', TMsgDlgType.mtError, [TmsgDlgBtn.mbYes,TmsgDlgBtn.mbNo,TmsgDlgBtn.mbCancel], 0);
    Merci , tu n'aurais pas soulever le lièvre je ne l'aurais pas vu

    en cherchant dans le source MessageDlg fait en fait appel a MessageDlgPosHelp
    avec un defaultbutton=TmsgDlgBtn.mbOk ce qui expliquerait peut être le bug ?
    j'ai rapidement essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageDlgPosHelp('', TMsgDlgType.mtError,[TmsgDlgBtn.mbCancel], 0, -1, -1, '', TmsgDlgBtn.mbCancel);
    mais je viens de me faire rattraper par les soucis du travail, je te laisse la piste
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Merci pour la piste, malheureusement, j'ai le même résultat.
    J'ai carrément l'impression que le pb vient de IFMXDialogService
    7 fois à terre, 8 fois debout

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Oui , je suis du même avis , certaines combinaisons fonctionnent [mbYes,mbNo]
    d'autres non il faudrait vérifier les combinaisons 'classiques' d'un messagebox pour confirmation


    Je suis allez voir sur EDN personne n'en parle . Maintenant cela fait peut être partie d'un bug signalé (ou pas j'ai pas été encore regarder)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    certaines combinaisons fonctionnent [mbYes,mbNo]
    d'autres non il faudrait vérifier les combinaisons 'classiques' d'un messagebox pour confirmation
    Sur QualityCentral, j'ai vu un post d'un utilisateur qui signalait que la combinaison [mbYes,MbCancel] ne fonctionnait pas et on lui a répondu que c'était conçu comme ça, seul mbOK pouvait être associé à mbCancel et le report a été clos avec le code "AsDesigned"
    Je peux éventuellement l'admettre mais le bouton mbCancel tout seul ça devrait marcher!
    Je voudrais signaler le bug sur QC mais je ne trouve pas de "bouton" poster un rapport, je ne peux que consulter
    7 fois à terre, 8 fois debout

  6. #6
    Membre averti

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Points : 332
    Points
    332
    Par défaut
    Bonjour,

    Sous D2006 j'ai utilisé MessageDlg :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageDlg('essai cancel',mtWarning, [mbCancel],0);
    j'obtiens une fenêtre "Avertissement" avec le message, un triangle ! et
    un bouton "Annuler" ?

    PL

    Et si je rajoute mbOK j'ai les 2 pj
    Fichiers attachés Fichiers attachés

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Salut,
    Citation Envoyé par paulfr Voir le message
    Sous D2006 j'ai utilisé MessageDlg ....
    @Paul , on parle de FMX donc de Delphi XE a minima , pas de VCL ! avec Delphi XE4 VCL cela fonctionne "correctement"

    seul mbOK pouvait être associé à mbCancel et le report a été clos avec le code "AsDesigned"
    c'est bien ce que j'ai lu aussi : un dictat des concepteurs FMX ? d'un autre coté , si tu ne l'avais pas fait remarqué je ne serais jamais tombé dessus , pour mes nouveaux projets j'utilise une boite dialogue de TMS (sauf programmes tests rapides)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    pour mes nouveaux projets j'utilise une boite dialogue de TMS (sauf programmes tests rapides)
    C'est également ce que j'ai fait. J'ai développé rapidement ma boîte de dialogue basique.
    Après tout, pourquoi s'appuyer sur l'existant quand on peut réinventer la roue
    7 fois à terre, 8 fois debout

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

Discussions similaires

  1. [Administration] Impossible d'avoir autre chose que fichier,v
    Par affro-jojo dans le forum CVS
    Réponses: 0
    Dernier message: 31/12/2008, 00h44
  2. ON DELETE SET autre chose que null
    Par minirom dans le forum Requêtes
    Réponses: 4
    Dernier message: 26/07/2006, 15h32
  3. Réponses: 11
    Dernier message: 13/05/2006, 15h17
  4. Arrive plus a installer autre chose que debian
    Par kosmic dans le forum Debian
    Réponses: 10
    Dernier message: 12/12/2005, 11h50
  5. [langage] connaissez-vous autre chose que -d
    Par Sébastien dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2002, 20h13

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