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 :

Comment fermer son application ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Par défaut Comment fermer son application ?
    Bonjour,

    Voici le problème. Je veux que mon programme ne soit instancier qu'une fois et ça marche (voir le code de la faq). Ensuite j'ai voulu ajouter un système d'aide. J'ai donc ajouté la panoplie D6OnHelpFix.pas, hh.pas et hh_funcs.pas et c'est là que ça par en sucette.

    Quand je tente d'instancier mon appli une 2° fois, elle plante...Après avoir passer le "Exit", le debuggueur passe sur le dernier end du programme, et j'ai une exception. Quand je supprime D6OnHelpFix.pas, ça fonctionne parfaitement.

    J'ai pensé que ça venait de la fonction Exit qui n'était pas approprié, donc j'ai fait quelques tests et recherche mais sans succès.

    Peut être en aurez vous plus que moi ?

  2. #2
    Membre éprouvé
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Par défaut
    C'est peut être dans la section (si elle existe)

    de l'unité qu'il y a un truc qui ne vas pas ?
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  3. #3
    Membre éclairé Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Par défaut
    J'ai tenté un débuggage pas à pas, ça plante après avoir passé toutes les méthodes de libération des objets, sur un "end;", comme pour la plupart des problèmes de ce type là.

  4. #4
    Membre éclairé Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Par défaut
    Normalement on fait le controle du mutex avant le Application.initialize . Si je place un Exit juste avant le Application.Run, ça ne plante pas. Si je le place juste après le Application.initialize, ça plante.

    Niveau mémoire, c'est propre si je fait un exit juste avant le Application.Run ?

  5. #5
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    Pour ma part je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      if not FirstInstanceExists(True) then
      begin
        Application.Initialize;
        Application.CreateForm(TfMain, fMain);
        Application.Run;
      end;

  6. #6
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Par défaut
    bonjour
    @Linkin

    je viens d'essayer ton bout de code dans mon fichier.dpr, j'ai inséré 'windows' dans le Uses, à la compil le système me retourne
    [Erreur] fichier.dpr(33): Identificateur non déclaré : 'FirstInstanceExists'
    faut il insérer autre chose dans le uses?

    [D6/XP]
    merci

Discussions similaires

  1. comment deployer son application avec install shield
    Par diden138 dans le forum Bases de données
    Réponses: 19
    Dernier message: 18/01/2007, 09h18
  2. Réponses: 3
    Dernier message: 20/10/2006, 17h43
  3. [VB.Net]Comment "partager" son application?
    Par eultartuffe dans le forum Windows Forms
    Réponses: 1
    Dernier message: 16/05/2006, 11h27
  4. [JAR] Comment déployer son application en incluant un jar ?
    Par david06600 dans le forum Général Java
    Réponses: 6
    Dernier message: 20/02/2006, 10h40
  5. Comment fermer l'application en même temps que Windows ?
    Par semaj_james dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2004, 22h17

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