| Terminer une programme | |
|
+4bignono exdragon JL35 lodchjo 8 participants |
|
Auteur | Message |
---|
lodchjo
Nombre de messages : 162 Age : 53 Localisation : Anvers Date d'inscription : 26/12/2011
| Sujet: Terminer une programme Jeu 9 Fév 2012 - 15:33 | |
| Bonjour! J'ai une petite problème avec la façon dont l'instruction "terminate" arrête l'application. La problème c'est que la fermeture du programme est toujours accompagné par le son 'erreur système' de windows (au moins chez moi), je trouve ça assez gênant et donne une mauvaise impression du programme. J'ai essayé "stop", mais ça fait toujours demander une confirmation. Et "end" bien sur, n'est pas fait pour ça. Est-ce qu'il y a une autre manière de fermer l'application, sans que l'utilisateur click le "X". Merci!
| |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 15:56 | |
| Bizarre, en tout cas chez moi je n'ai pas ce son avec Terminate (en principe je coupe tous les sons, mais là je l'ai mis pour tester). | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 16:44 | |
| Toi c'est au terminate que ça bug, moi c'est au premier chargement d'un programme basic. Il se croit dans un autre dossier (toujours ce problème de chemin).
Pour ton problème, je pense qu'il te faut essayer de recharger la dernière version et voir ce que ça fait ?
ça ne te le fait qu'avec Panoramic ou même avec un autre programme ?
| |
|
| |
lodchjo
Nombre de messages : 162 Age : 53 Localisation : Anvers Date d'inscription : 26/12/2011
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 16:52 | |
| Tiens, étrange que ça le fait pas chez tout le monde. J'utilise Win XP Pro SP2 et la dernière version de Panoramic. (J'avais le même truc avec l'autre version moins récent.) | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 16:53 | |
| Moi j'ai le SP3 ça viendrait de ça ? Je pense pas, je crois qu'à une époque j'avais le SP2 et la version panoramic que j'avais fonctionnait dessus.
Essaie de recharger la derniere version de panoramic pour voir
Tu as essayé en lançant un autre programe avec ta version de panoramic ?
(Car moi je viens d'avoir le problème en insérant une commande Font_size dans mon code).
| |
|
| |
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 17:25 | |
| Bonjour lodchjo, Si j'ai bien compris, tu entends le son système quand tu arrives à l'instruction terminate pour finir le programme et fermer. A mon avis, tu l'as placé en milieu de programme. Essaie de mettre Terminate à la dernière ligne de ton programme. Normalement tu ne devrais plus avoir ce problème! A + | |
|
| |
lodchjo
Nombre de messages : 162 Age : 53 Localisation : Anvers Date d'inscription : 26/12/2011
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 18:20 | |
| Bonjour! Dans le ménu de mon programme, il y a la possibilité de fermer l'application. L'instruction "Terminate" se trouve donc dans la routine appelé par cet objet ménu. EDIT: t'as raison: pas besoin de fermer chaque routine avec "return" alors. J'ai enlevé le "return" après "terminate" et c'est rédolu. Merci! Au faite, c'est logique, mais c'était tellement dans mon esprit de pas oublier le "return" a la fin de chanque routine. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 18:31 | |
| Alors ça, c'est franchement bizarre. Je n'avais pas encore remarqué cela. Quand on regarde: - Code:
-
label fermer button 1 : caption 1,"Fermer" : on_click 1,fermer end fermer: terminate ' return
ce code ne produit aucun son. Si par contre, je retire l'apostrophe devant la ligne 6, il y a le son dont tu parles ! Je ne pense pas que ce fonctionnement soit intentionnel - la commande terminate est censée arrêter le programme, et rien d'autre ne doit être exécuté. Il y a sûrement un problème. Il n'est dit nulle part que terminate doit être placé à la fin physique d'un programme. Il m'arrive même souvent d'avoir plusieurs endroits où je provoque une fin de programme. Mais il est vrai que j'ai toujours le son coupé, et je ne l'ai certainement pas entendu pour cela. En tout cas, ce n'est pas normal. | |
|
| |
Invité Invité
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 18:39 | |
| Cela fait longtemps que je mets terminate à la fin, et je l'ai dit maintes fois. S'il y a plusieurs terminate, un goto à la fin suffit. Mais il me semble avoir déjà été remis en place pour l'avoir signalé. Je ne m'occupe de savoir si c'est une erreur ou pas. Je pense que terminate dépile tout, et que s'il y a des lignes qui suivent, il ne comprend pas. Mais là je m'avance! |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 18:53 | |
| Normalement, Terminate ferme tout sans se préoccuper du return. Je pense que c'est un bug là puisque il semble se préoccuper du return.
| |
|
| |
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 19:04 | |
| Pour moi, il n'y a pas de bug! Terminate veut dire terminer le programme, et c'est toujours la fin qui termine quelque chose. (je ne sais pas si vous saisissez ce que je dis?). Si il y a une instruction après terminate, il signale que c'est une erreur avec un son. Le même son quand vous mettez au point un programme et qu'il détecte une erreur. Quant à l'apostrophe, l'interpréteur ne le considère pas comme une instruction je crois, pareil pour rem, pour panoramic c'est du texte et on peut le mettre n'importe où dans le programme. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 19:13 | |
| Je suis comme Exdragon: je pense que c'est un bug. Il n'est dit nulle part que "terminate" doit être placé à la fin physique du programme. Cela n'a aucun sens. La documentation dit clairement que cette commande met immédiatement fin à l'exécution du programme. Il n'y a aucune raison que le programme essaie de voir s'il doit exécuter autre chose après la fin immédiate du programme ...... c'est un non-sens. | |
|
| |
sergeauze
Nombre de messages : 391 Age : 72 Localisation : Hautes Alpes France Date d'inscription : 09/01/2010
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 19:26 | |
| salut pour ma part j'utilise tres souvent: if key_down_code = 27 then terminate ( escape) qui pernet de reprendre la main lorsque lorsque meme "x" ne permet pas de stopper le programme Sage precaution pour sortir d'une boucle qui s'eternise ! amicalement | |
|
| |
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 19:33 | |
| Tu as peut-être raison après tout Klaus. Mais le bruit ne serait-il pas émis par window lui-même et non provoqué par Panoramic? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 19:33 | |
| Donc, ça prouve qu'on peut placer des lignes de code après un terminate, sinon, le if ...then n'aurait pas de sens ! Cela renforce la suspicion d'un bug. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 19:35 | |
| Le bruit est certes produit par Windows, mais est le résultat d'un évènement particulier, en occurrence ce qu'on appelle une exception (comme une division par zéro, par exemple). Panoramic génère bien une exception dans le sens qu'il termine avec un statut anormal ce que détecte Windows et qui le signale. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 19:36 | |
| Une petite hypothèse : - Code:
-
label fermer button 1 : caption 1,"Fermer" : on_click 1,fermer end fermer: terminate ' return En fait je pense que c'est l'interpréteur qui râle. Normalement l'évènement on_click s'attend à un return implicitement on_click 1,fermer reviens à écrire on_click 1,gosub fermer L'exemple de serge semblerai le démontrer: - Code:
-
if key_down_code = 27 then terminate ne provoque pas de son système... car l'interpreteur execute la commande et s'arrête là car il ne s'attend pas à trouver autre chose. Dans le cas d'un on_click, il mémorise le fait qu'il doit forcement y avoir un return Donc il execute le terminate, le source basic s'arrête, ok... mais il regarde les taches restant encore à faire: par exemple stopper les timers, libérer la mémoire,etc.. mais il se rend compte qu'il y a encore un return à faire.. d'où le Beeeep ! | |
|
| |
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 19:40 | |
| Même si c'est un bug, il n'est pas bien grave ni gènant. Il faut tout simplement placer le terminate en fin de programme pour éviter ce genre de désagrément. Ça n'empèche pas panoramic de fonctionner normalement. Enfin ce n'est que mon humble avis. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 19:52 | |
| Non, ce n'est encore pas ça ! Ce n'est pas lié à un évènement genre on_click. Regarde ces 4 lignes: - Code:
-
message "on va terminer" terminate message "coucou" end
Il y a bien le son ! Et ce n'est pas normal. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 20:29 | |
| Ce problème, je l'avais soulevé il y a très longtemps.
Et je suis de l'avis Bigono, Bug ou pas, TERMINATE met fin au programme et redonne la main à Windows, alors il suffit de le placer en fin de programme sans return.
Perso, j'ai un LABEL fin (ou quit) que je place en fin de code et je l'appelle par un GOSUB fin à chaque fois que j'en ai besoin.
A+ | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 22:04 | |
| Ce que certains ne comprenne pas, c'est que quand il y a un bug, on ne dit pas "Ce n'est pas grave, on se débrouille" mais plutôt on le signale pour que celui-ci soit dépanné, cela arrangera tout le monde mais surtout Panoramic lui-même.
| |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Terminer une programme Jeu 9 Fév 2012 - 23:33 | |
| Rassure toi exdragon, Jack lis les messages... et s'il estime que c'est un gros bug de la mort qui tue, il apporte souvent la correction dans la mise à jour suivante... C'est juste une question de priorité : Dans le cas présent, on ne nie pas le bug mais il existe une solution pour contourner ce bug donc la demande de correction est certainement placée dans la ToDo list mais peut être pas tout en haut de la pile... | |
|
| |
exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Terminer une programme Ven 10 Fév 2012 - 6:43 | |
| Je suis tout a fait rassuré, qui a dit que je ne l'étais pas ? Je répond simplement ce que je pense quand je vois que certains préfèrent se débrouiller et ignorer un bug alors que ce topic est là pour ça, pour rapporter les bugs.
Je sais bien que Jack lit les messages, puisque je dis toujours que c'est lui qui décide ce qu'il doit faire en voyant une proposition d'amélioration ou un rapport de bug, encore faut-il qu'ils soient rapportés, lol.
Tu dis : "ON" ne nie pas les bugs, mais tu t'inclue à ceux qui le nient quand tu dis "ON", car moi je parles de ceux qui le nient pas des autres. Et pour ta gouverne, pour qu'il soit dans la liste d'attente, encore faut-il qu'il soit affiché sur le topic des rapports de bug ou d'amélioration. Si certains nient les bugs en se débrouillant, ils font ce qu'ils veulent, comme je le dis toujours, mais qu'ils ne disent pas aux autres que ce n'est pas grave un petit bug, et qu'il y a qu'à se débrouiller.
| |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Terminer une programme Ven 10 Fév 2012 - 7:36 | |
| | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Terminer une programme Ven 10 Fév 2012 - 10:20 | |
| Du calme, mes amis ! Signaler un bug, c'est à terme utile pour tout le monde, et signaler une solution de contournement, c'est un plus immédiat pour tout le monde ! Pourquoi opposer les deux démarches ? Elles sont complémentaires !
C'est comme le problème signalé avec ON_CHANGE avant le END: cela a permis à JACK de mettre le doigt sur un point technique précis dont la solutioin va servir tout le monde. Et il se peut qu'ici, ce soit similaire.
Alors, prenons toutes les contributions pour ce qu'elles sont: des efforts communs pour faire avancer Panoramic ! Et vive la critique constructive - c'est en confrontant les idées qu'on évolue ! | |
|
| |
Contenu sponsorisé
| Sujet: Re: Terminer une programme | |
| |
|
| |
| Terminer une programme | |
|