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 :

Pb de Fermeture de Fenêtre avec CanClose


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut Pb de Fermeture de Fenêtre avec CanClose
    Bonjour tout le monde

    Je découvre un Pb Nouveau sur une opération que je fais courament. Lorsque je clique sur le 'X' pour fermer la fenêtre, jutilise la procedure ci dessous
    et cela marche Normalement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    // *************************
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
     
      if MessageDlg('Voulez_vous Vraiment quitter cette application ?',
        mtConfirmation, [mbYes, mbNo], 0) = mrYes then
      begin
        DataModule2.FDConnection1.Connected := False;
        DataModule2.FDQueryCptDetails.Active := False;
        DataModule2.FDQueryMaitre.Active := False;
        Action := caFree; // sortie et libération de la mémoire
      end
      else
        Action := caNone; // ne pas sortir
    or actuellement sur un nouveau programme, j'ai une erreur à la compilation

    [dcc32 Erreur] Principale.pas(381): E2010 Types incompatibles : 'TCloseAction' et 'TAdvControlAlignment'

    Dans mon unité j'utilise un AdvMemo de TMS ! dans lequel je ne fait qu'afficer des simples données formatées.

    Merci d'avance si quelqu'un à une solution.

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 745
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 745
    Points : 13 306
    Points
    13 306
    Par défaut
    C'est dû à l'ordre des unités dans la clause uses. Soit tu la réordonnes en plaçant la(les) unité(s) TMS avant Forms, soit tu préfixes caNone avec le nom de l'unité Forms.caNone.

  3. #3
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut
    Comme cela sachant que c'est ma fiche principale ,

    Si je fais cela :
    [dcc32 Erreur] Principale.pas(382): E2003 Identificateur non déclaré : 'CaNone'

  4. #4
    Membre confirmé Avatar de blonde
    Femme Profil pro
    Développeur Delphi
    Inscrit en
    Septembre 2003
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Septembre 2003
    Messages : 278
    Points : 477
    Points
    477
    Par défaut
    Citation Envoyé par gegila Voir le message
    Comme cela sachant que c'est ma fiche principale ,

    Si je fais cela :
    [dcc32 Erreur] Principale.pas(382): E2003 Identificateur non déclaré : 'CaNone'

    Tu as fait une erreur de copie c'est bien Forms.caNone que tu dois écrire
    et pas Form1.caNone

    si tu écris Form1.caNone : c'est que tu demandes une propriété de la form1 (qui est une instance d'une TForm)
    si tu écris Forms.caNone : là tu demandes la déclaration du type caNone dans l'unité "Forms" (qui est donc une unité)

  5. #5
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut
    Bien sûr j'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if MessageDlg('Voulez_vous Vraiment quitter cette application ?',
        mtConfirmation, [mbYes, mbNo], 0) = mrYes then
      begin
        DataModule2.FDConnection1.Connected := False;
        DataModule2.FDQueryCptDetails.Active := False;
        DataModule2.FDQueryMaitre.Active := False;
        Action := caFree; // sortie et libération de la mémoire
      end
      else
      Action:=Forms.CaNone; // ne pas sortir
    voici l'erreur

    [dcc32 Erreur] Principale.pas(382): E2003 Identificateur non déclaré : 'Forms'

    Voila ce que j'ai qui je pense me met le Souk, car dans ma première erreur j'avais cela

    [dcc32 Erreur] Principale.pas(381): E2010 Types incompatibles : 'TCloseAction' et 'TAdvControlAlignment'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     TAdvCustomDesignerForm = class(TForm);
     
      TAdvCustomControl = class;
     
      TAdvControlAlignment = (caNone, caTop, caBottom, caLeft, caRight, caClient);

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 745
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 745
    Points : 13 306
    Points
    13 306
    Par défaut
    Ça va aussi dépendre de l'espace de nommage. Si dans uses Forms est précédé de Vcl, tu dois utiliser le même : Vcl.Forms.CaNone.

  7. #7
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut
    Merci beaucoup

    Ta solution marche;

    Je vais me rapprocher de TMS pour leur soumettre le Pb

  8. #8
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 502
    Points : 2 769
    Points
    2 769
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par gegila Voir le message
    Merci beaucoup

    Ta solution marche;

    Je vais me rapprocher de TMS pour leur soumettre le Pb
    Ce n'est pas un problème. Juste deux variables qui ont le même nom. La solution passe aussi en prefixant la variable avec le nom de l'unité

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

Discussions similaires

  1. Fermeture des graphes avec la fenêtre principale
    Par nabil123456 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 08/04/2015, 11h28
  2. Fermeture de la fenêtre avec timer
    Par shayw dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/12/2014, 17h08
  3. Fermeture d'une fenêtre avec un thread
    Par Jerepain dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/05/2009, 14h17
  4. Fermeture d'une fenêtre avec tous les onglets ouverts
    Par Invité dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/11/2008, 08h44
  5. Ouvrir fenêtre avec param
    Par Saber22 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/05/2003, 15h48

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