timotep
Messages postés34Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention16 janvier 2008
-
27 déc. 2007 à 16:10
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 2009
-
16 janv. 2008 à 17:44
Bonjour,
J'ai le problème suivant dans mon application. Lors de la fermeture de mon application, celle-ci (le processus de
l'application, le formulaire se fermant, lui, rapidement) met parfois
une dizaine de secondes avant de se terminer, et, sans toutefois prendre de
ressource processeur, me semble-t-il, me crée une lenteur sur l'ordinateur. J'ai essayé le mode
pas à pas, mais la lenteur n'a pas l'air de se faire sur un évènement
du formulaire (par exemple sur fermeture), donc je n'ai pas trouvé ce
que cela peut être. Mon appli est un agenda partagé. J'ai 2 timers et je fonctionne sans dataset, avec des datareader. Si quelqu'un a
une idée, de quel côté je dois chercher pour que mon application se
ferme rapidement...
Pour résumer, je ferme le formulaire et au lieu que le processus de l'appli disparaisse immédiatement, celui-ci met quelques fois une dizaine de secondes avant de disparaitre.
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 27 déc. 2007 à 16:42
sans doute le garbage collector qui travaille ..
Essaye de bien refermer toutes les connexion à tes bases de donnéees, bien détruire tous tes objets (MonObjet = nothing), refermer tous les fichiers ouverts, etc ...
timotep
Messages postés34Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention16 janvier 2008 27 déc. 2007 à 17:10
Ok, merci pour tous vos conseils, je regarde toutes ces pistes, et je vous tiens au courant du résultat, en espérant qu'il soit positif. En attendant, bravo à vbfrance, pour la rapidité de réponses, c'est impressionant, par rapport à des forums concurents... où les réponses ne sont pas nombreuses.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 27 déc. 2007 à 17:21
Salut timotep,
Perso, j'ai déjà eu qq surprise avec des timers par le passé. Essaie des les désactiver lorsque tu ferme ta fenetre, c'est peut être eux qui refont un appel de l'événement Tick même si ta fenetre s'est fermé.
Appel-tu la méthode Application.Exit? Essaie avec.
Si tu ne trouve tjr pas, utilises-tu du multi-threading?
timotep
Messages postés34Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention16 janvier 2008 28 déc. 2007 à 10:12
bonjour,
Non, je n'ai pas de threads. Je suis en train de tester, j'ai finalement pris soin d'arreter mes 2 timers, puis de les mettre à nothing, puis de mettre à nothing mes autres objets avant de fermer. Je vais voir s'il y a du mieux.
timotep
Messages postés34Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention16 janvier 2008 16 janv. 2008 à 11:52
re bonjour,
Désolé, j'étais en vacances.
Alors, j'ai toujours le même problème et je suis donc dans la m.... car je ne trouve toujours pas ce qui cloche, le debug etape par etape ne donnant rien, puisque c'est après fermeture que ça cogite. Le pire, c que le processeur ne travaille pas, donc c'est bizarre non?
Donc, j'ai bien mis tous mes formulaire à nothing, arreté mes timers, puis les ai mis à nothing. Enfin, j'ai vérifié que la fermeture de ma connection à ma Bdd n'était pas trop longue et ce n'est pas le cas.