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 Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
ON_CLOSE Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
ON_CLOSE Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
ON_CLOSE Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
ON_CLOSE Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
ON_CLOSE Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
ON_CLOSE Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
ON_CLOSE Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
ON_CLOSE Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
ON_CLOSE Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
ON_CLOSE Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
ON_CLOSE Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
ON_CLOSE Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
ON_CLOSE Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
ON_CLOSE 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 à ne pas rater :
Cartes Pokémon EV6.5 : où trouver le Bundle Lot 6 Boosters Fable ...
Voir le deal

 

 ON_CLOSE

Aller en bas 
4 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

ON_CLOSE Empty
MessageSujet: ON_CLOSE   ON_CLOSE EmptyDim 2 Fév 2014 - 12:27

Avec On_Close on peut intercepter la fermeture d'un programme par la croix, mais à ma connaissance on ne peut pas l'annuler ?
En fait je renvoie le traitement d'un bouton 'Quitter' et du On_Close au même sous-programme, mais les conséquences ne sont pas les mêmes.
Par exemple je peux afficher un message du genre: "Voulez-vous vraiment quitter ?", ou "Voulez-vous enregistrer le travail en cours ?" mais quoi qu'on fasse ça va se terminer, c'est bien ça ?

Réflexion faite, on peut quand même faire un traitement avant la fermeture inéluctable, par exemple enregistrer un fichier.
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 Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE EmptyDim 2 Fév 2014 - 12:38

Effectivement, on ne peut pas l'annuler. Cet évènement est conçu pour effectuer des actions indispensables avant la fermeture, comme par exemple sauvegarder le contenu de certains objets (momo, grid, ...).
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

ON_CLOSE Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE EmptyDim 2 Fév 2014 - 12:59

JL35 a écrit:
Par exemple je peux afficher un message du genre: "Voulez-vous vraiment quitter ?", ou "Voulez-vous enregistrer le travail en cours ?" mais quoi qu'on fasse ça va se terminer, c'est bien ça ?

J’ai rien pigé !
Ce code ne fait pas l’affaire ?

Code:
dim rep$
rep$ = message_warning_yes_no("Vous voulez vraiment quitter ?")
select val(rep$)
    case 0
             message "Vous avez fermé par la croix" +chr$(13) + "Ma question ne vous intéresse pas"
    case 1
             message "Vous avez choisi YES" + chr$(13) + "Bye Bye !!"
             terminate
    case 2 : message "Vous avez choisi NO" + chr$(13) + "Je continue alors"
end_select


EDIT : Avec un peu (beaucoup) de retard j’ai enfin compris ta question JL35.
On ne peut annuler le On_Close 0.
Alors, si on a l’intention de pouvoir l’annuler, mieux vaut ne pas l’utiliser !
Il y en a certainement une alternative à cela !


Dernière édition par papydall le Dim 2 Fév 2014 - 13:11, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

ON_CLOSE Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE EmptyDim 2 Fév 2014 - 13:10

Je pense que la question se rapportait à l'arrêt d'un programme par la croix rouge. So cela a été fait, le on_close est activé, mais il n'y a aucun moyen de l'empêcher.

KGF.dll contient une fonction qui permet de désactiver la croix rouge:
Code:
res% = DLL_call2("SetCloseBox",hnd%,mode%)
avec mode%=0, il n'y a plus de croix rouge !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




ON_CLOSE Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE EmptyDim 2 Fév 2014 - 13:18

Tiens, c'est nouveau cela. Cela ne marchait pas avant! Même si on voulait annuler, cela ne fonctionnait pas. Le seul c

Tu m'as troublé Papydall. C'est avec ON_CLOSE, pour programmer la fermeture par la croix. Evidemment ton programme fonctionne avec un message, mais on_close ferme après-coup le programme.

Si on veut éviter de fermer par mégarde, il y a deux solution: soit on intercepte la croix avec une fonction de la dll de Klaus, pour la rendre inactive, soit systématiquement, on met la fenêtre zéro à hide, pour tout mettre dans une autre forme. car dans une fenêtre fille, on peut fermer la fenêtre sans fermer le programme, et la réouvrir par les instructions.

Il y a un croisement avec Klaus que je salus. Tout est dit.

Edit crois =>> croix
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

ON_CLOSE Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE EmptyDim 2 Fév 2014 - 14:54

On peut éviter de fermer par mégarde la FORM 0 par la croix rouge, en prenant les choses en main.

Code:

label close
print "cliquez sur la croix rouge"
on_close 0,close
end
rem ============================================================================
close:
verif()
return
rem ============================================================================
sub verif()
    dim_local rep$
    rep$ = message_warning_yes_no("Vous voulez vraiment quitter ?")
    select val(rep$)
       case 0
             message "Vous avez fermé par la croix" +chr$(13) + "Ma question ne vous intéresse pas"
             continue()
       case 1
             message "Vous avez choisi YES" + chr$(13) + "Bye Bye !!"
             terminate
       case 2
             message "Vous avez choisi NO" + chr$(13) + "Je continue alors"
             continue()
    end_select
end_sub
rem ============================================================================
sub continue()
' Ici on code les appels vers les différents sous-programmes
    message "Le programme continue de tourner ..."
    cls
    print "Tourne, tourne ma toupie"
    print "Toune tourne encore!"
    message "Terminé"
end_sub
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




ON_CLOSE Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE EmptyDim 2 Fév 2014 - 15:04

J'ai cru un instant que cela avait changé, sauf que ce n'ai pas vrai.

Si on clique sur "continue" le programme continue jusqu'à "terminé", et là le programme se ferme. Dès que tu quittes la sub, on ne peux plus continuer, c'est fermé! Le END ne reprend pas la main pour un autre clic.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

ON_CLOSE Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE EmptyDim 2 Fév 2014 - 18:17

Merci à tous pour vos interventions (j'étais absent), mais finalement c'est ce que j'en avais déduit: on a la possibilité de sauvegarder la situation avant fermeture inévitable à la fin du s/p appelé par On_Close, et c'est ce que je voulais.

La fermeture définitive et sans appel doit intervenir au moment précis du Return du s/p de traitement du On_Close. Donc s'il y a quelque chose à faire, il faut le faire avant, mais ça laisse quand même des possibilités.
Revenir en haut Aller en bas
Invité
Invité




ON_CLOSE Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE EmptyLun 3 Fév 2014 - 10:49

Histoire de tourner en rond. Mais attention, à chaque fois on augmente le compteur. (Ca ne fonctionne qu'avec des sous-programmes.
 Very Happy :
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

ON_CLOSE Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE EmptyLun 3 Fév 2014 - 11:25

Oui, Cosmos, çà marche.

Mais bon, c'est pas le but initiale de ON_CLOSE (je me doute bien que tu le sais).
Tu nous as démontré que quand on veut, on peut.  Very Happy 

A+

Revenir en haut Aller en bas
Invité
Invité




ON_CLOSE Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE EmptyLun 3 Fév 2014 - 12:14

Jean-Claude a écrit:
je me doute bien que tu le sais

C'est sûre que je le savais. Je voulais seulement voir, si on pouvait rester à un return en attente, ou si celui-ci s'incrémentait. Il s'incrémente, et à 1000 c'est fini! C'est capri Jean-Claude ? (Capri c'est fini!) afro
Revenir en haut Aller en bas
Contenu sponsorisé





ON_CLOSE Empty
MessageSujet: Re: ON_CLOSE   ON_CLOSE Empty

Revenir en haut Aller en bas
 
ON_CLOSE
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: