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

Langage Delphi Discussion :

Petit pépin avec OnClose


Sujet :

Langage Delphi

  1. #1
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut Petit pépin avec OnClose
    Bonjour !

    en 1er voici un bout de code susceptible de fermer mon application si je clique sur le fameux "x" de la fenêtre windows :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TfmMain.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      if MessageDlg('Quitter GEXPLOITE DESK ?', mtConfirmation,
        [mbYes, mbNo], 0, mbYes)= mrYes then
      begin
        Action := caFree;
        Close;
      end;{ fermer et quitter }
    end;
    mais ce que j'ai est tout à fait le contraire de ce que je souhaite ! en cliquant sur "Oui" rien ne se passe alors qu'on cliquant sur le "Non" l'application se ferme !
    que dois-je comprendre ?

    pour info, je suis sous windows 8 et je développe avec Delphi 2010.

    Merci par avance.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 299
    Points
    11 299
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TfmMain.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      if MessageDlg('Quitter GEXPLOITE DESK ?', mtConfirmation, [mbYes, mbNo], 0, mbYes)<> mrYes 
      then Action := caNone // empêchera la fermeture
      else Action := caFree;
    end;
    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 émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut Étirement d'un panel
    merci tourlourou
    sur la base de votre proposition, le code est devenu ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TfmMain.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      case MessageDlg('Quitter GEXPLOITE DESK ?', mtConfirmation, [mbYes, mbNo], 0, mbYes) of
        mrYes : Action := caFree;
        //mrNo : Action := caNone;
      end;
    end;
    à ma surprise le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mrNo : Acction := caNone
    a déclaré une erreur inattendu.

    Ma seconde question et qui n'a rien à voir avec celle-la concerne l'étirement d'un panel. Au fait, j'ai deux panels un contenu dans un autre. Le second sert comme afficheur d'un objet OLE cartographique, sur la gauche un autre panel et entre les deux un splitter pour redimensionner la vue selon besoin. Sauf que quand je déplace le splitter mon panel carto se déplace sans qu'il prends la totalité de la zone dédiée bien qu'il soit positionné à alClient.

    Avez vous une idée sur la nature de ce problème ? Si oui, merci d'y répondre dans cette discussion !
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  4. #4
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Sinon tu peux utiliser l’événement CloseQuery et tu joues avec "CanClose"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CanClose := MessageDlg('Quitter GEXPLOITE DESK ?', mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes;

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

Discussions similaires

  1. Petit pépin avec une expression régulière
    Par lsebe2 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 27/02/2015, 10h13
  2. Petit pépin avec la propriété Checked dans un TMainMenu
    Par Ithomir dans le forum Composants VCL
    Réponses: 1
    Dernier message: 24/02/2006, 10h00
  3. [CVS] Petits déboires avec JBuilder9 et CVS
    Par Marc_P dans le forum JBuilder
    Réponses: 2
    Dernier message: 19/02/2004, 09h35
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52
  5. [debutant] pour debbuger un petit prog avec menu
    Par niluge01 dans le forum Windows
    Réponses: 3
    Dernier message: 22/11/2003, 14h03

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