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 :

que se passe-t-il lorsqu'on ferme une application ?


Sujet :

Delphi

  1. #1
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 316
    Points : 158
    Points
    158
    Par défaut que se passe-t-il lorsqu'on ferme une application ?
    bonjour, je voudrais connaitre le déroulement d'une fermeture d'application pcq mon application ferme a la fermeture
    je dois avoir,d'après le message d'erreur un problème de strtoint qq part mais je ne le trouve pas
    dans le onclose de la form je n'ai rien
    donc que fait- il pour fermer l'application ?
    merci d'avance

  2. #2
    Membre actif
    Profil pro
    DEV
    Inscrit en
    Août 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DEV

    Informations forums :
    Inscription : Août 2006
    Messages : 182
    Points : 211
    Points
    211
    Par défaut
    Dans le OnClose de la fiche principale de l'application utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Terminate;

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    En gros

    -Appel de OnCloseQuery
    -Appel de OnClose
    -Destruction/Libération des objets/composants puis fermeture de l'application

    Souvent il y a un problème lors de la libération/destructions des composants car la libération ne se fait pas correctement (On retrouve ce problème en général dans les composants non standard de delphi)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 316
    Points : 158
    Points
    158
    Par défaut
    onclosequery ? je peux trouver ça où ? pcq en fait j'ai le ptit sablier sql qui reste affiché donc je suppose que ca doit provenir de la..
    ca doit être un paramètre, peut etre une variable réutilisée, est-ce qu'il controle les types des paramètres sur le close ?

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Salut

    est-ce que tu as des évènements OnChange sur les datasources ou sur des composants DB par exemple ?
    A la fermeture, tous les dataset sont fermés et ca déclenche les onchange ...

    JP
    JP

    N'ayez pas peur de la perfection, vous ne l'atteindrez jamais !
    Salvador Dali

  6. #6
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    OnCloseQuery est un evenemnt qui est lancé avant le OnClose (sur le Tform) et qui permet d'effectuer des tests de fermeture et eventuelement ne pas fermer l'applciation.

    L'applciation type et de demander l'enregistremetn des documents non sauvegardés.

    Si ton applciation tourne dans le vide c'est qu'a mon avis elle s'est terminée mais reste zombie car elle attends que certains objets se terminent pour se finir.
    C'est souvent le cas quand des processus ou thread parallele sont encore en traint de fonctionner.

    si tu utilise des composants type internet ou autres surtout en mode asynchrones, il risque d'y avoir des problemes
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  7. #7
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 316
    Points : 158
    Points
    158
    Par défaut
    comment puis je voir le onclose query? pour voir ou il cale

  8. #8
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Citation Envoyé par Mihalis
    comment puis je voir le onclose query? pour voir ou il cale
    Heu, comme l'a dis Clorish, le OnCloseQuery est un événément de ta Fiche... Donc en fait, si tu veux qu'un message t'avertissant " Voulez vous vraiment quitter l'application / OUI NON" (c'est un exemple) lorsque tu es sur le point de quitter, selon le choix, tu mets canClose à true ou false pour vraiment quitter ou non ...

    Je sais pas si j'ai été très clair

    Mais je comprends pas trop ta question ...

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par Mihalis
    comment puis je voir le onclose query? pour voir ou il cale
    Rien à voir avec avec une query au sens requête SQL mais query au sens requête de l'utilisateur de fermer la fenêtre ...
    JP

    N'ayez pas peur de la perfection, vous ne l'atteindrez jamais !
    Salvador Dali

  10. #10
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 316
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par J-P-B
    Rien à voir avec avec une query au sens requête SQL mais query au sens requête de l'utilisateur de fermer la fenêtre ...
    ha ok :s le problème c'est que chez moi, lorsque je veux fermer l'application j'ai un sablier sql qui se met et ca bouge plus c'est pr ca que je pensais que c'etait requete sql
    il me met un message d'erreur comme quoi j'ai fait un strtoint ou qq chose comme ca et la valeur n'est pas bonne donc j'ai pensé a une requete sql avec paramètre et strtoint
    ce qui est bizarre c'est que tout fonctionne dans le programme sauf qd je veux le fermer

  11. #11
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Si dans le OnClose tu as du code, montre le nous ...
    Ensuite, un débug pas à pas peut aussi aider à cerner le problème.
    Lorsque tu lances ton application et que tu la fermes juste après, il y a tout de même une erreur ?

  12. #12
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 316
    Points : 158
    Points
    158
    Par défaut
    dans le onclose je n'ai rien du tout
    oui j'ouvre l'appli je la ferme et directement erreur

  13. #13
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par Mihalis
    dans le onclose je n'ai rien du tout
    oui j'ouvre l'appli je la ferme et directement erreur
    Et que contient ton application? Quelle erreur se produit? On n'a pas notre boule de cristal sur nous là...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  14. #14
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 316
    Points : 158
    Points
    158
    Par défaut
    arf tu l'as oubliée
    bien que contient ce serait relativement long mais table query etc..
    sinon l'erreur qui se produit a la fermeture du programme converterror invalid integer value ""
    c'est pourquoi je supposais que c'etait un problème de strtoint ou qq chose comme ca mais j'ai rien dans le onclose

  15. #15
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Si tu ne l'a pas déjà fait, coche "s'arrêter sur exception" dans "outils -> Option du débogueur -> onglet exception du langage" pour voir la ligne qui déclenche l'erreur. il faut avoir compilé avec les options de débogage (options de projet)
    JP

    N'ayez pas peur de la perfection, vous ne l'atteindrez jamais !
    Salvador Dali

  16. #16
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Le mieux serait de faire un test, dans ton Onclose de ta form principale de l'appllication, en fermant le AdoConnection ou Database manuellement.

    Et voir après si tu as toujours l'erreur.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  17. #17
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Donc a priori c'est l'ensemble de la liaison a l BdD qui plante.

    Je te conseille de fermer a la main dans le onclose de ta form les données SQL : Table, query, connection, etc ... pour cloturer proprement ta base de donnée.

    De ce fait, la fermeture de l'applicatio nne s'occume plus que de gerer la liberation des objets et non la cloture de la BdD.

    Il te sera donc plus simple de tracer les erreurs.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  18. #18
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Cette erreur EConvertError laisse penser qu'un des DataSets essaye de faire une mise à jour (update ou insert/append) avec une valeur erronnée. Dans le cas présent une chaine vide pour un Integer.

    Dans la même esprit que ce que propose Malatar, dans l'event CloseQuery, examine l'état de tes tables: dsBrowse, dsEdit, dsInsert,...

    @+

  19. #19
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 316
    Points : 158
    Points
    158
    Par défaut
    @ JPB c'était déjà fait mais il ne s'arrête sur aucune ligne

  20. #20
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2003
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par Mihalis
    @ JPB c'était déjà fait mais il ne s'arrête sur aucune ligne
    Tu as essayé en cochant "utiliser les DCU de débogage" (ca ne marque que sans les paquets d'exécution) ?
    JP

    N'ayez pas peur de la perfection, vous ne l'atteindrez jamais !
    Salvador Dali

Discussions similaires

  1. Que se passe t-il lorsque des pirates perdent à un jeu dans lequel ils se font pirater ?
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 33
    Dernier message: 02/02/2015, 21h24
  2. Que se passe-t-il à l'installation d'une application?
    Par Anduriel dans le forum Android
    Réponses: 4
    Dernier message: 05/04/2012, 18h50
  3. Que se passe-t-il lorsqu'une boite de dialogue est ouverte ?
    Par isa911Bis dans le forum Agents de placement/Fenêtres
    Réponses: 19
    Dernier message: 25/08/2011, 10h48
  4. lorsque je ferme une JFrame, la methode finalize implementée ne s'enclenche pas.
    Par javanoiid dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 28/03/2008, 10h41
  5. Erreur lorsque je ferme une session.
    Par fredangel dans le forum Langage
    Réponses: 13
    Dernier message: 24/05/2006, 16h38

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