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
» Logiciel de planétarium.
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
ON_CLOSE - Empêcher la fermeture d'une form ! Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -17%
(Black Friday) Apple watch Apple SE GPS + Cellular ...
Voir le deal
249 €

 

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

Aller en bas 
2 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12331
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 : 12331
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: