Form qui refuse de disparaître après END

cs_poupi91 Messages postés 5 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 17 décembre 2006 - 16 déc. 2006 à 22:24
cs_poupi91 Messages postés 5 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 17 décembre 2006 - 17 déc. 2006 à 18:39
Bonjour,
J'ai mis, en vb6, une instruction qui provoque la fin du programme: du style : if <condition> then END.
Tout va bien sauf si je compile.
Avec l'EXE le programme s'interrompt mais la form reste affichée et doit être fermée à la croix.
Elle ne contient plus de données mais les boutons, les listbox... réagissent à la souris.
Comme la source fonctionne correctement, difficile de debuguer ! J'ai essayé Unload avant End sans résultat.
Quelqu'un peut-il m'aider à faire disparaître cette form envahissante ? Merci !

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
16 déc. 2006 à 22:29
Plusieurs possibilités :
- Arretes-tu les timers avant le End
- Fais-tu appel à un controle de la form dans le unload de cette form ou d'un autre
- Détruits -tu tous les objets que tu as créer dynamiquement
- .............

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
16 déc. 2006 à 22:40
Salut,

perso, je me souviens pas d'avoir utilisé l'instruction End dans mes dev, je mets toutes mes instructions de cloture dans Sub Form_Unload, (comme le précise Casy, je détruits les objets, autres Form, etc..)

Et pour fermer l'exe : Unload Me
(tout ça depuis la fenêtre (Form) principale)

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
cs_poupi91 Messages postés 5 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 17 décembre 2006
16 déc. 2006 à 23:29
Merci pour ton aide mais je n'y arrive toujours pas.
Depuis longtemps j'utilise End sans problème.
D'ailleurs là je n'ai aucun problème tant que ne compile pas !
Mais ce n'est pas très bloquant, je dois juste fermer derrière à la croix.
J'ai quand-même essayé ta solution avec Unload Form mais c'est pareil.
0
cs_poupi91 Messages postés 5 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 17 décembre 2006
16 déc. 2006 à 23:34
Merci pour ta réponse!
- Je n'ai pas lancé de timer
- J'avais une instruction dans le Unload (un msgbox pour demander "enregistrer ? oui/non") mais j'ai essayé en l'enlevant : pareil
- Je n'ai pas créé d'objet dynamiquement.
Ce que je n'arrive pas à comprendre c'est que la form persiste uniquement quand j'utilise le programme COMPILE.
Quand je teste mon code avant de compiler tout est ok!
0

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

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
16 déc. 2006 à 23:41
Dans le Module de code de ta Form Principale, mets ça :

Sub SafeEnd()
    While Forms.Count
        Unload Forms(0)
        DoEvents
    Wend
End Sub

Puis au Unload, fait un Call SafeEnd

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
cs_poupi91 Messages postés 5 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 17 décembre 2006
17 déc. 2006 à 18:39
Désolé, Mortalino, mais c'est toujours pareil.
J'ai un autre End à un autre endroit dans mon programme, qui fonctionne très bien.
Celui-ci: rien à faire! Et uniquement après compilation, parce qu'en code tour est ok.
Et si le problème venait de Windows?
Enfin, ne vous cassez pas la tête, je trouverai bien un contournement.
Merci pour votre aide.
0
Rejoignez-nous