Fenêtre Visual FoxPro à la fermeture

Résolu
mike_vk Messages postés 30 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 13 septembre 2013 - 8 nov. 2007 à 16:47
mike_vk Messages postés 30 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 13 septembre 2013 - 9 nov. 2007 à 13:44
Bonjour!
Je débute un peu avec le FoxPro et ne parviens à resoudre mon problème (Celui-ci n'est apparent que lors de la compilation de l'application):
Lorsque l'utilisateur clique sur la croix de ma fenêtre principale, un petit message lui demande si il est certain de vouloir quitter.
Lorsqu'il dit "oui" tout va bien. Par contre si il dit "non", ma fenêtre principale se ferme quand même et celle de Visual Foxpro réapparait! Qui-plus-est, le message de confirmation est ensuite réaffiché 2 fois!

Comment effectivement empêcher la fermeture d'une form après un clic sur la croix ?

Voici comment je procède:
Dans le Main: _SCREEN

.Visible = .F.
ON SHUTDOWN QuitApp()Mon QuitApp:

FUNCTION

WBT_QuitApp()
   IF( 6 = MESSAGEBOX("Quitter ?",4) )
      ON SHUTDOWN
      QUIT
   ENDIF
ENDFUNC

Autre problème que je ne comprends pas, si je ne mets pas le Visible de _SCREEN à False, la fenêtre principale s'ouvre dans celle de Visual Foxpro, alors que la propriété "Desktop" est bien False!

Je suis certain que c'est élémentaire pour la plupart d'entre vous, alors merci d'avance pour votre aide!

4 réponses

Mike Gagnon Messages postés 381 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 24 octobre 2013 2
9 nov. 2007 à 12:45
1.
FUNCTION QUITAPP
   IF


( 6 = MESSAGEBOX("Quitter ?",4) )

       CLEAR EVENTS       
      QUIT
   ENDIF
ENDFUNC




Tu fais appel à la fonction quitApp()  (ON SHUTDOWN QuitApp()), mais ta fonction ne porte pas ce nom?

Que fait WBT_QuitApp()?

2. Dams ton fichier config.fpw met la ligne suivante
SCREEN = OFF

Mike Gagnon
3
mike_vk Messages postés 30 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 13 septembre 2013
9 nov. 2007 à 13:44
Bon et bien après des recherches bien poussées, j'ai fini par trouver! Il suffit de mettre NODEFAULT dans le QueryUnload de la form!
3
mike_vk Messages postés 30 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 13 septembre 2013
9 nov. 2007 à 13:27
Merci!
La ligne dans le fichier config.fpw masque bien la fenetre au lancement de ma form.
Mais à la fermeture, si l'utilisateur clique sur "non", celle-ci réapparait! Et le message aussi, 2 fois de suite!
Je ne comprends pas.

Y a-t-il un moyen d'annuler le clic sur la croix ? Merci encore!

PS. WBT_QuitApp() est le vrai nom de ma fonction, je l'avais modifié ici pour que ce soit plus clair, et... je l'ai fait dans l'appel mais pas la définition! :D
0
mike_vk Messages postés 30 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 13 septembre 2013
9 nov. 2007 à 13:35
Je remarque en fait que mon QuitApp() s'exécute APRES la fermeture de la form... Peut-etre dois-je le placer dans le Unload ou QueryUnload ?
0
Rejoignez-nous