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.
Le TERMINATE récalcitrant - Page 2 Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Le TERMINATE récalcitrant - Page 2 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Le TERMINATE récalcitrant - Page 2 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Le TERMINATE récalcitrant - Page 2 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Le TERMINATE récalcitrant - Page 2 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Le TERMINATE récalcitrant - Page 2 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Le TERMINATE récalcitrant - Page 2 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Le TERMINATE récalcitrant - Page 2 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Le TERMINATE récalcitrant - Page 2 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Le TERMINATE récalcitrant - Page 2 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Le TERMINATE récalcitrant - Page 2 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Le TERMINATE récalcitrant - Page 2 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Le TERMINATE récalcitrant - Page 2 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Le TERMINATE récalcitrant - Page 2 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Le TERMINATE récalcitrant - Page 2 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 :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G ...
Voir le deal
599 €

 

 Le TERMINATE récalcitrant

Aller en bas 
5 participants
Aller à la page : Précédent  1, 2
AuteurMessage
papydall

papydall


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 0:07

Klaus a écrit:
Bon, c'est "brutal", mais efficace.

Je ne vois rien de brutal là-dedans : c’est E-F-F-I-C-A-S-S-E
En plus ça innocente  SCANCODE.
On peut terminer le programme avec <ESC>, une touche quelconque du clavier, un click gauche ou un click droit.
La sortie est « propre » et « muette » pas de son.

Code:

dim i,res%
dll_on "KGF.dll"
while 2 > 1
   i = i + 1
   caption 0,str$(i) : pause 100
   if scancode <> 0  then res% = dll_call1("KillProcessByHandle",handle(0))
end_while


Si ça marche avec KillProcessByHandle , ça devrait marcher avec TERMINATE.
Comme ça ne marche pas correctement avec TERMINATE, pourquoi aller chercher un autre "coupable" Question
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 0:20

Tu as raison, Papydall. C'est limpide.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 0:58

Le dernier mot est à Jack king
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 8:07

En attendant, si on n'utilise pas kgk.dll, il vaut mieux placer TERMINATE à la dernière ligne du code. Et gérer la sortie de programme par un sous-programme.
Code:
fin:
  terminate


J'espère que Jack va trouver ce bug.

A+
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 8:31

Heu.... c'est de plus en plus zarbi Very Happy

Code:
label fin
' on_close 0,fin : ' cette ligne modifie le comportement de TERMINATE

END

fin:
terminate

ON_CLOSE 0,fin déclenche l'arrêt critique Question drunken

Si ça peut aider à cerner le bug.
Revenir en haut Aller en bas
Klaus

Klaus


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 9:39

Ca, c'est plutôt normal. avec "on_close 0,fin", tu déclenches cerrtainement une boucle infinie, ce qui est détecté par Windows. En effet, la commande TERMINATE provoqie justement l'évènement ON_CLOSE. Alors, lorsque tu déclenches le même évènement par un clic sur la croix rouge... Il ne doit pas beaucoup aimer cela.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 10:04

Ho ! la la!

Tu as raison, il ne faut pas utiliser TERMINATE dans le sous-programme déclenché par ON_CLOSE.
ON_CLOSE n'est pas fait pour ça.

Hé bien, j'ai quelques programmes à modifier... Very Happy

Je viens de découvrir une mauvaise habitude que j'avais prise. (j'ai bien fait de poster ce petit code !)

A+
Revenir en haut Aller en bas
Klaus

Klaus


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 10:22

Eh oui - une routine ON_CLOSE doit obligatoirement se terminer par RETURN !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 11:20

Good morning.

On a appris des choses dans cette discussion et c’est toujours ça de gagné.
On a mis le doigt là ou il faut (peut-être un chouia à côté).
Jack a, maintenant, suffisamment d’infos pour voir de près le problème.

Mais comme il ne s’agit pas d’une urgence, ça peut attendre.
Si on se met d’accord pour appeler TERMINATE dans une SUB en ajoutant END derrière TERMINATE, ça résoudrait le problème.

Voici  comment j’opterai  dorénavant

Code:

rem ============================================================================
rem                    Orbite
rem ============================================================================
rem Paramètres pour une orbite géostationnaire autour de la Terre
rem ============================================================================
Init()
boucle()
Fin()
end
rem ============================================================================
SUB Init()
   dim hauteur,speed,radius,time,scale,dt,g,x,y,px,py,xspeed,yspeed
   hauteur = 36000000 : speed = 3070 : radius = 6371000
   time = 0 : scale = 400000 :dt = 40 :g = 9.81
   x = 0 : y = radius + hauteur : px = 0 : py = 0 : xspeed = speed : yspeed = 0
   height 0,350 : caption 0," <CLICK> pour arrêter ...."
   color 0,255,255,255 : font_name 0,"arial" : font_bold 0  : font_size 0,12
   2d_fill_on : 2d_pen_width 20 : 2d_fill_color 255,255,255
END_SUB
rem ============================================================================
SUB Boucle()
   dim_local dist,gravity,dx,dy,xac,yac
   while 0 = 0
       dist = sqr((x-px)*(x-px) + (y-py)*(y-py))
       gravity = g * (radius/dist) * (radius/dist)
       dx = x - px : dy = y - py
       xac = (dx/dist) * gravity  : yac = (dy/dist) * gravity
       xspeed = xspeed - xac * dt : yspeed = yspeed - yac * dt
       x = x + xspeed * dt : y = y + yspeed * dt

       print_locate 150 + x/scale,150 + y/scale : print "[]o[]"
       2d_circle 150+px, 150+py, radius/scale -10
       time = time + dt
       speed = int(sqr(xspeed*xspeed + yspeed*yspeed))
       print_locate 50,10 : print "Paramètres pour une orbite géostationnaire autour de la Terre"
       print_locate 300,50 : print "Height = " + str$(dist/radius) + " radius"
       print_locate 300,70 : print "Speed  = " + str$(speed) + " m/s"
       print_locate 300,90 : print "Time     = " + str$(int(time/3600)) + " h"
       print_locate 300,110 : print "Grav-acc   = " + str$((radius/dist)*(radius/dist)) + " g"
       print_locate 300,130 : print "Centri-acc = " + str$((speed*speed/dist)/g)+ " g"
       display
       if scancode <> 0 then Fin()
   end_while
END_SUB
rem ============================================================================
SUB Fin()
   dim_local h
   for h = height(0) to 10 step -1 : height 0,h : next h
   terminate
   end : ' Ce END après TERMINATE élimine le désagréable bip
END_SUB
rem ============================================================================


REMARQUE : Vous pouvez commenter ce code : un mouvement rien qu'avec des PRINT_LOCATE. Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 14:29

Papydall a écrit:
On a appris des choses dans cette discussion et c’est toujours ça de gagné.

c'est très vrai !

A+
Revenir en haut Aller en bas
papydall

papydall


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 3 Oct 2015 - 16:24

On a même appris qu’un honorable Panoramicien ose accuser sa femme qui  n’a rien à voir dans l’affaire.
Il joue à cache-cache avec les balises HIDE et il se demande pourquoi il ne voit pas ce qu’il a « hidé » !
On a tout vu !

Du calme, je sors silent
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 17 Oct 2015 - 0:08

Je reviens au sujet "bug avec Terminate". Il y a vraiment un bug ! La preuve:
TERMINATE dans une SUB, ça marche:
Code:
label go
button 1 : caption 1,"Go" : on_click 1,go
end

go:
' form 5000
terminate
return
mais si j'enlève le commentaire devant la commande FORM, ça plante:
Code:
label go
button 1 : caption 1,"Go" : on_click 1,go
end

go:
form 5000
terminate
return
alors que si le mets un commentaire devant TERMINATE, ça marche:
Code:
label go
button 1 : caption 1,"Go" : on_click 1,go
end

go:
form 5000
' terminate
return
===> il y a vraiment unn bug, et il faut que Jaclk regarde ça !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 17 Oct 2015 - 2:54

Et comme ça, ça ne plante pas, à part le désagréable son émis.

Code:

label go
button 1 : caption 1,"Go" : on_click 1,go

end

go:
form 5000  : pause 1000
delete 5000
terminate
return


Si vous comprenez quelque chose, éclairez-moi. Idea
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 EmptySam 17 Oct 2015 - 3:12

Non, je n'y comprends rien. Ce n'est pas normal. Et la preuve qu'un arrêt "correct" est possible, c'est ma fonction KillProcessByHandle. Pas de crash, pas de son. Net et propre. Alors, pourquoi TERMINATE ne le fait pas ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Le TERMINATE récalcitrant - Page 2 Empty
MessageSujet: Re: Le TERMINATE récalcitrant   Le TERMINATE récalcitrant - Page 2 Empty

Revenir en haut Aller en bas
 
Le TERMINATE récalcitrant
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» un picture récalcitrant, please help svp ;)
» DIR_REMOVE récalcitrant...
» Le guillemet récalcitrant.
» Tuer un processus récalcitrant
» Petit désagrément avec TERMINATE

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Un problème avec PANORAMIC?-
Sauter vers: