Application Fantome

Résolu
beezzers Messages postés 10 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 29 mai 2008 - 23 avril 2008 à 02:44
beezzers Messages postés 10 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 29 mai 2008 - 25 avril 2008 à 23:04
Bonjour, je débute en programmation et j'ai crée un fantome.

Je m'explique.

Lorsque je ferme mon application elle disparait de l'écran mais le processus reste toujours actif.
J'avais reglé le probleme avec un "end" lors du "unload_form" de mon form principale et ça à
fonctionné un temps mais le probleme est de retour et je suis a bout de ressource.

Merci à l'avance de votre aide
Beezzers

9 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
23 avril 2008 à 06:24
Evite End, c'est pas normal que tu aies a l'utiliser, ca montre un defaut dans la conception de ton projet...
étrange que ca ne le fasse qu'en .exe.

pas simple a debugger ce genre de choses, du coup...
ajoutes des MsgBox, pour tracer l'execution de la chose, et voir si en .exe tu reload pas la form malgré toi

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
23 avril 2008 à 03:46
Quand tu quittes ton programme, il te faut faire gaffe à tout fermer...
stopper les boucles, les timers

ça, c'est simple.
une fois le Unload Me appelé, il faut éviter de recharger la fenêtre... (c'est certainement ce qui se passe)

ajoute un point d'arret dans ton Form_Load et lance ton programme.
l'execution va logiquement se stopper sur ce point d'arret, rien d'alarmant ^^
maintenant, quitte ton programme
je pense que le point d'arret va de nouveau être déclenché: ta form est rechargée, mais ne sera pas affichée ; ton programme restera en cours d'execution.

qui est le coupable ?
pourquoi la form se recharge-t'elle ?

presse Ctrl+L (pile des appels) pour trouver le coupable.
une fois la Form déchargée, il ne faut plus faire reference aux controles et propriétés de celle-ci (logique, rien de tout cela n'existe encore, il faut recharger...)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
beezzers Messages postés 10 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 29 mai 2008
23 avril 2008 à 04:19
J'ai essayé le point d'arret dans form_load et le programme ne semble pas
repasser là car il s'arrete normallement.

J'ai cependant fait un autre test avec un cmd et seulement la comande "end"
L'application se ferme et le precessus disparait.

J'avais oublié de préciser que ce probleme n'arrive qu'avec le ".exe"
En dévelopement l'application semble fonctionner normallement.

Merci de ton aide Remfield, je vais prendre note de ce "truc" pour de
prochain debug.
Beezzers
0
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
23 avril 2008 à 10:40
Bonjour,

Pour ma part c'est quelque chose de très fréquent lorsqu'on laisse un thread s'executer après fermeture de la form sur VS2005.
A voir si tu en utilises

Bonne Prog
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
23 avril 2008 à 10:52
pas de multithread sous VB6, sinon, y'aurait pas ce genre de soucis (au contraire) : de fortes chances que le programme crash ^^

du coup, pas de fantome :p
0
beezzers Messages postés 10 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 29 mai 2008
23 avril 2008 à 21:32
Beezzers
0
beezzers Messages postés 10 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 29 mai 2008
23 avril 2008 à 21:40
 Le message ne semble pas avoir passé.

J'ai trouvé mon probleme, il venais d'un pop-up "Home-Made" qui se
chargais sur l'évenement "Form_Paint" pour rester au premier plan.
J'ai donc reglé le probleme de l'application fantome mais mon pop-up
se retrouve a l'arriere plan de ma form principale si je les appele de la
barre de tache.

Est-ce-que quelqu'un peut m'aider ??

Renfield, c'étais effectivement un défaut de conception, merci.

Beezzers
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
24 avril 2008 à 09:23
il faut décharger toutes tes forms, quand tu quitte ton programme.

tu peux même itérer et faire :

Do While Forms.Count
unload Forms(0)
Loop
0
beezzers Messages postés 10 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 29 mai 2008
25 avril 2008 à 23:04
Merci pour ce tip.


Tes conseil m'on beaucoup aidé



Beezzers
0
Rejoignez-nous