Mars 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | Calendrier |
|
| | Fonctionnement de ON_CLOSE | |
| | |
Auteur | Message |
---|
Invité Invité
| Sujet: Re: Fonctionnement de ON_CLOSE Dim 5 Déc 2010 - 16:47 | |
| Bonjour, J'ai pas du tout l'impression que tu sois hors sujet, et même en plein dedans. Ton idée est bien, j'ai même une fois fait quelque chose de très approchant, mais il n'y avait pas le timer. Travailler sur une form, permet effectivement de pouvoir la réouvrir. Quand j'ai posté sur Panoramic V.09.20: - Citation :
- La forme est définitivement fermée. Et là je ne suis pas d'accord. Il pourrait paraître logique de fermer la fenêtre, mais il est intercepté par le label qui lui dit autre chose.
je pense que cela dépend au départ à quel endroit on met le END. Ainsi je me suis rendu compte, si vous voyez l'image de la form qui est sur Fonction chaines et variables locales, du programme que j'ai mis, qu'il n'y avait qu'un bouton auquel le programme réagissait, malgrès le END. Et là j'ai vu que cette form était bien créée, mais que mes commandes que j'ai ajouter fonctionnait avant. J'ai du revoir la structure du programme, pour que le END soit pris en compte. C'est certainement ce problème qui fait que la forme était fermée, et quelle ne s'ouvrait pas. Je mets ici le code qui fait que le END soit pris en compte, et de pouvoir continuer. Ce qui suivait le END, je l'ai mis en sous programme, et grâce au timer, le programme continu: timer 9938:on_timer 9938,go_end:timer_on 9938:end go_end: timer_off 9938:delete 9938Une fois qu'il y a eu exécution du timer, celui-ci n'ayant que cette fonction, il est détruit. Donc je crois que je peux dire que si on click sur une fenêtre alors qu'on est en mode conventionnel, on ne peux la rouvrir. Il faudra que je fasse un essai pour bien voir si c'est le cas. Mais des essais j'en fais tellement, que parfois, j’arrête. |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Fonctionnement de ON_CLOSE Dim 5 Déc 2010 - 17:45 | |
| @Dragonno: Je le sais bien qu'on peut le contourner en Delphi - je le fais moi-même. D'ailleurs la preuve: dans mon post auquel tu fais allusion, dans le point (1), j'ai bien dit: - Citation :
- Mais cela se jour au niveau des API système; même en Delphi on peut le faire avec des fonctions construites autour des API.
Jusqu'à maintenant, Panoramic ne donnait simplement pas accès à cette possibilité, ce qui sera chose faite avec la fonction CLOSE_CANCEL, la bienvenue. @Cosmos70: - Citation :
- timer 9938:on_timer 9938,go_end:timer_on 9938:end
go_end: Techniquement, tu as raison sur le point que le programme continue bien à) cet endroit. Mais attention: il y a une grosse différence: tu te trouves, après le label do_end, dans un sous-programme évènement (on_timer), et non pas dans un code normal. En principe, Panoramic s'attend à ce que tu lui rendes la main par un RETURN. Si tu continues à rester dans ce sous-programme, les évènemts suivants "interrompent" un sous-programme évènement, avec toutes les conséquences que cela peut avoir. Certes, tu détruis le timer qui t'a conduit à ce label, et il n'y aura don pas de conflit entre d'autres interruptions par ce timer et par d'autres évènements. Mais il faut bien garder à l'esprit le contexte dans lequel on se trouve afin d'éviter des problèmes, dus par exemple au fait qu'un nouvel évènement relance une routine dans laquelle on se trouve déjà: là, c'est le crash assuré ! | |
| | | Invité Invité
| Sujet: Re: Fonctionnement de ON_CLOSE Dim 5 Déc 2010 - 18:35 | |
| Bonsoir, Je détruis le timer, car je n'en ai plus besoin, et non en pensant qu'il peut me géner. Ce n'ai pas la première fois que j'agis comme cela, mais je ne termine pas le sois disant sous programme par return, mais par END. Cela ne m'a jamais posé de problème. D'ailleurs j'ai remarqué que lorsqu'on fait un gosub à un sous programme et qu'on finit par END, le programme est en attente. J'imagine que normalement il y a une pile d'évènements quelque part. Les infos que j'aurais aimé avoir à ce sujet, je ne les ai jamais eux. Pourtant il serait bon de connaitre la méthode qu'emploi Jack pour gérer les appels, et faire en sorte qu'on ait une structure de programme sans défaut. Malheureusement je ne fonctionne qu'avec des testes personnels, ou ce que l'un ou l'autre comprend, ou par une sorte de logique qui s'accumule au file du temps, parce que moi, je ne suis pas divin et ne lis pas dans les marc de café.
ayant fais un peu d'assembleur comme beaucoup de notre génération qui avons commencé dans les année 80, pour pallier au faiblesse du basic d'alors, je me représente une méthode de langage. Mais ce n'est que de la spéculation, là j'ai le vide devant moi. |
| | | dragonno
Nombre de messages : 341 Localisation : Près de Toulouse Date d'inscription : 22/01/2009
| Sujet: Re: Fonctionnement de ON_CLOSE Lun 6 Déc 2010 - 20:55 | |
| OK maitre klaus Cosmos : Tu n'est pas divin mais cosmos c'est pas mal déjà - Citation :
- je ne suis pas divin et ne lis pas dans les marc de café
C'est devin | |
| | | Invité Invité
| Sujet: Re: Fonctionnement de ON_CLOSE Mar 7 Déc 2010 - 9:09 | |
| Je répond là en me citant, dragonno. J'essaye de faire un programme qui teste mes commandes, mais un programme qui a une logique, comme vouloir faire un fichier quelconque qui traite ses fiches, et je trouve que mes commandes ne sont pas si pratique. Aussi par ce programme, je vais essayer d'adapter celles-ci pour une praticité correcte. Je sais qu'on est sur on_close, mais je voudrais laisser mourir l'autre sujet: variables locales et fonctions chaines, dont la largeur de la fenêtre pourri ce poste. Si il y avait eu des réponses, il y aurait peut-être une nouvelle page. Je vais essayer (mais le temps...) de faire les choses propres. |
| | | Contenu sponsorisé
| Sujet: Re: Fonctionnement de ON_CLOSE | |
| |
| | | | Fonctionnement de ON_CLOSE | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |