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

Delphi Discussion :

Fermer une forme automatiquement


Sujet :

Delphi

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Points : 243
    Points
    243
    Par défaut Fermer une forme automatiquement
    Hello,

    Dans un formCreate, je fais divers tests pour savoir si la form peut bien se charger. S'il y a un problème, j'aimerais que la form se ferme automatiquement. J'ai essayé de mettre form.close, form.free, etc. , mais rien à faire. Ma form refuse de se fermer.

    Comment faire ?

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Il me semble qu'il faut paramètrer quelque chose pour que l'évènement s'effectue après ou avant l'éxécution... Je ne me souviens pas de cette propriété... (faudrait chercher dans l'aide en ligne).
    Sinon, je crois qu'il faut effectuer ton test dans le OnActivate de ta form.
    De retour parmis vous après 10 ans!!

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Andorre

    Informations forums :
    Inscription : Juin 2004
    Messages : 219
    Points : 241
    Points
    241
    Par défaut
    Salut

    Je crois que c'est mieux faire ces test avant de la creation (si est qu'on peut les faire).

    Sinon, tu peux essayer de faire ces test dans le Loaded on dans un evenement cree par vous même qui se declanche apres le Create

    * Loaded

    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
    16
    17
     
    type
      TForm1 = class(TForm)
       .....
      protected
        procedure Loaded; override;
      public
      end;
     
    ......
     
    procedure TCustomSearchFrm.Loaded;
    begin
      inherited;
     
      // les test
    end;
    * Ton evenement

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    unit Unit1;
     
    interface
     
    uses
      Windows,....;
     
    const
      CM_AFTERCREATE = WM_USER + 84;
     
    type
      TForm1 = class(TForm)
        ........
      private
        procedure CMAfterCreate(var Msg: TMessage); message CM_AFTERCREATE;
     
    .....
     
     
    procedure TForm1.CMAfterCreate(var Msg: TMessage);
    begin
      // faire les test
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      .....
     
      PostMessage(Handle, CM_AFTERCREATE, 0, 0);
    end;
    A+

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Points : 243
    Points
    243
    Par défaut
    Merci pour vos réponses. Je vais choisir la première possibilité de cadetill, c'est à dire modifier mon code pour pouvoir effectuer tous les tests avant le chargement de la form, ce qui est le plus "propre" à mon avis.

  5. #5
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Essaye en mettant OldCreateOrder à True. De toute façon, si il s'agit d'une fichie principale, le programme se terminera lorsque tu fermeras cette fiche, et dans ce cas, j'utilise la fonction halt pour terminer un programme dans le FormCreate de la fiche principale.

    [EDIT] Effectivement, si cela est possible, il vaut mieux faire un test avant la création !
    De retour parmis vous après 10 ans!!

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

Discussions similaires

  1. Fermer une form au bout de 5 secondes
    Par gastoncs dans le forum VB.NET
    Réponses: 11
    Dernier message: 02/02/2007, 10h57
  2. [C# 2.0] Fermer une Form dans un événement
    Par Mast3rMind dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/11/2006, 11h05
  3. [VB6] Comment fermer une form en cliquant sur un boutton ??
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/04/2006, 19h05
  4. [Form close] Impossible de fermer une form
    Par valoji dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2006, 15h12
  5. peut on fermer une JFrame automatiquement?
    Par zorm dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 22/11/2005, 16h12

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