FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -14%
Apple MacBook Air (2020) 13,3″ Puce Apple M1 ...
Voir le deal
799 €

 

 ON_CLOSE - Empêcher la fermeture d'une form !

Aller en bas 
2 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

ON_CLOSE - Empêcher la fermeture d'une form ! Empty
MessageSujet: ON_CLOSE - Empêcher la fermeture d'une form !   ON_CLOSE - Empêcher la fermeture d'une form ! EmptySam 18 Déc 2010 - 12:45

Il y a de multiples posts sur le forum débattant de ce sujet. L'état actuel des connaissances sur Panoramic dit ceci:
Citation :
L'évènement on_close est déclenché lorsque Windows a reçu l'ordre de fermer la form. Il permet de reprendre la main juste avant la fermeture pour faire "du ménage", mais pas pour empêcher de fermer la form. Windows la fermera de toutes façons.

Jack a parlé d'une possibilité d'avoir une commande qui annullerait cela. Ce serait évidemment la meilleure solution. En attendant, j'ai trouvé un moyen d'éviter la fermeture définitive pour toutes les forms autres que la form 0 !

En effet, la form 0 est associée directement au processus de base, pour Windows, et fermer cette form entraîne automatiquement l'arrêt du processus. Il n'y a pas moyen déviter cela, sauf par la nouvelle commande dont parle Jack.

Mais pour toutes les autres forms, il y a un moyen ! En effet, fermer une form aute que form 0 ne la "supprime" pas - cette action ne fait qu'enlever la partie affichée. Il suffit d'un show pour la réafficher. Malheureusement, il ne sert à rien de faire cela dans l'évènement on_close, puisque la suppression de la partie visible se passe après.

Mais on peut contourner le problème par un timer (encore une application pour le timer !). Si on lance un timer dont l'évènement se déclenche APRES la suppression de la partie visible de la form, il suffit de faire un show de cette form dans l'évènement timer, et tout revient !

Alors, le moyen absolu d'empêcher le programme de s'arrêter, est le suivant:
- faire immédiatement HIDE 0
- créer une form 1 dans laquelle on met tout ce que l'on voulait mettre dans la form 0
- protéger la form 1 par le mécanisme décrit ci-dessus et montré dans l'exemple ci-dessous
==> ON NE PEUT PLUS FERMER L'APPLICATION !


Voici une petite démo, avec la form 0 dont la fermeture est malheureusement inévitable, et la form 1 impossible à fermer !
Code:
label restaurer_0, restaurer_1, close_0, close_1

timer 100 : timer_interval 100,100 : on_timer 100,restaurer_0
timer 101 : timer_interval 101,100 : on_timer 101,restaurer_1

alpha 10 : caption 10,"Essayez de fermer la form 0 - inévitable !"

form 1 : command_target_is 1 : top 1,60 : left 1,60
alpha 11 : caption 11,"Essayez de fermer la form 1 - impossible !"

on_close 0,close_0
on_close 1,close_1
end

close_0:
timer_on 100
return

close_1:
timer_on 101
return

restaurer_0:
timer_off 100
show 0
return

restaurer_1:
timer_off 101
show 1
return


Dernière édition par Klaus le Sam 18 Déc 2010 - 17:29, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
dragonno




Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

ON_CLOSE - Empêcher la fermeture d'une form ! Empty
MessageSujet: Re: ON_CLOSE - Empêcher la fermeture d'une form !   ON_CLOSE - Empêcher la fermeture d'une form ! EmptySam 18 Déc 2010 - 16:23

Quel malin ce Klaus, c'est bien un maître Wink

Et aussi tu aime bien le timer hein Wink

A ce propos, le timer remettra la form mais on est obligé de stoper le timer ensuite sinon son action est répétitive.
Et si on re-affichait la form avec show 1 juste après le on_close ?


Ta form 1 il ets possible de la mettre en background avant-plan ? pour empêcher de fermer le form 0.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

ON_CLOSE - Empêcher la fermeture d'une form ! Empty
MessageSujet: Re: ON_CLOSE - Empêcher la fermeture d'une form !   ON_CLOSE - Empêcher la fermeture d'une form ! EmptySam 18 Déc 2010 - 17:28

Citation :
A ce propos, le timer remettra la form mais on est obligé de stoper le timer ensuite sinon son action est répétitive.
C'est ce que j'ai fait dans le programme de démo ! La première action prise dans la routine on_timer est bien TIMER_OFF...

Citation :
Et si on re-affichait la form avec show 1 juste après le on_close ?
J'ai donné la réponse dans mon post:
Citation :
Malheureusement, il ne sert à rien de faire cela dans l'évènement on_close, puisque la suppression de la partie visible se passe après.

Citation :
Ta form 1 il ets possible de la mettre en background avant-plan ? pour empêcher de fermer le form 0.
Ce n'est pas possible. Mais j'ai donné la solution dans mon post:
Citation :
Alors, le moyen absolu d'empêcher le programme de s'arrêter, est le suivant:
- faire immédiatement HIDE 0
- créer une form 1 dans laquelle on met tout ce que l'on voulait mettre dans la form 0
- protéger la form 1 par le mécanisme décrit ci-dessus et montré dans l'exemple ci-dessous
==> ON NE PEUT PLUS FERMER L'APPLICATION !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





ON_CLOSE - Empêcher la fermeture d'une form ! Empty
MessageSujet: Re: ON_CLOSE - Empêcher la fermeture d'une form !   ON_CLOSE - Empêcher la fermeture d'une form ! Empty

Revenir en haut Aller en bas
 
ON_CLOSE - Empêcher la fermeture d'une form !
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment empêcher affichage initial des FORM ?
» Fermeture d'un form N
» Fermeture de FORM
» Fermeture Form par la croix rouge
»  Désactiver / activer la croix X de fermeture d'un FORM et +

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: