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.
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar Klaus Aujourd'hui à 0:24

» PANORAMIC V 1
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar Marc Hier à 19:51

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar Froggy One Hier à 11:16

» @Jack
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
pouvez-vous me dire pourquoi ce code plante. (Résolu) Emptypar leclode Mer 17 Avr 2024 - 11:07

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.99 €
Voir le deal

 

 pouvez-vous me dire pourquoi ce code plante. (Résolu)

Aller en bas 
4 participants
AuteurMessage
Jean Claude

Jean Claude


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

pouvez-vous me dire pourquoi ce code plante. (Résolu) Empty
MessageSujet: pouvez-vous me dire pourquoi ce code plante. (Résolu)   pouvez-vous me dire pourquoi ce code plante. (Résolu) EmptyLun 12 Oct 2015 - 20:44

Bonjour à tous,
Tout est dans le titre, ça sent le bug (à moins que quelque chose m'échappe).

ATTENTION: Ce code Plante (du moins chez moi), préparer votre tueur de tâche...
Code:
label change
check 1 : caption 1,"Check 1"
mark_on 1
on_click 1, change

END

change:
  if checked(1)=1 then mark_off 1
  if checked(1)=0 then mark_on 1
RETURN

Je suis à peu près certain que ça marchait avant la version actuelle (V0.9.26).

Si quelqu'un d'entre-vous possède la version précédente (même une version instantanée) je suis preneur.
Car je commence à avoir de sérieux doutes sur la version actuelle.

A+


Dernière édition par Jean Claude le Mar 13 Oct 2015 - 7:35, édité 1 fois
Revenir en haut Aller en bas
JL35




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

pouvez-vous me dire pourquoi ce code plante. (Résolu) Empty
MessageSujet: Re: pouvez-vous me dire pourquoi ce code plante. (Résolu)   pouvez-vous me dire pourquoi ce code plante. (Résolu) EmptyLun 12 Oct 2015 - 21:07

Bonsoir Jean Claude,
Effectivement ça plante... c'est pourtant simple...

Mais une question: pourquoi faire mark_on ou mark_off, quand tu cliques sur le check, il change automatiquement de nature au clic ?
Tu me diras, ce n'est pas ça la question...

Ca paraît même un peu tordu:
- il est à 1, tu cliques, il passe automatiquement à 0, tu vas dans le s/p change qui donc le trouve à 0 et le repasse à 1, et tout ça se passe en même temps, ça doit se mélanger les pinceaux... et je me demande si c'était le but cherché.
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2389
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

pouvez-vous me dire pourquoi ce code plante. (Résolu) Empty
MessageSujet: Re: pouvez-vous me dire pourquoi ce code plante. (Résolu)   pouvez-vous me dire pourquoi ce code plante. (Résolu) EmptyLun 12 Oct 2015 - 21:27

Bonsoir,
Je pense que la remarque de JL35 est très judicieuse :
Double commande donc plantage...

SUB donc inutile que j'ai quand même conservé pour mes tests :

Code:
label menu
check 1
caption 1,"Check 1"
' mark_on 1
on_click 1, menu

END

menu:
  if checked(1)=1 then print "OK"
  if checked(1)=0 then print "PAS OK"
RETURN

Et je n'ai plus de plantage.

J'ai besoin d'un coup de main aussi, j'ouvre un autre sujet...
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

pouvez-vous me dire pourquoi ce code plante. (Résolu) Empty
MessageSujet: Re: pouvez-vous me dire pourquoi ce code plante. (Résolu)   pouvez-vous me dire pourquoi ce code plante. (Résolu) EmptyLun 12 Oct 2015 - 21:47

Merci à vous deux,

En fait cette case à cocher est prévu pour un enregistrement ultérieur de sa condition CHECKED(N)=1 ou 0.
Exemple: pour un mot de passe si elle est cochée alors le programme charge automatiquement le mot de passe dans un edit (en SECRET_ON bien sur). Et l'utilisateur peut la décocher ou la cocher pour annuler ou pas la mémorisation du mot de passe et enregistrer la nouvelle condition dans un fichier.

J'ai recherché dans mes codes (car j'ai déjà utilisé cette méthode de mémorisation) et il est vrai que je ne l'ai pas fait de la même manière. J'étais dans le style de Marc37.

J'abandonne cette façon de faire.... Mais je ne vois pas pourquoi ça ne marche pas.

A+
Revenir en haut Aller en bas
Klaus

Klaus


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

pouvez-vous me dire pourquoi ce code plante. (Résolu) Empty
MessageSujet: Re: pouvez-vous me dire pourquoi ce code plante. (Résolu)   pouvez-vous me dire pourquoi ce code plante. (Résolu) EmptyMar 13 Oct 2015 - 1:28

Pourquoi ça ne marche pas ? Simple ! Lorsque tu cliques sur la case, la coche de la case s'inverse. Mais parallèlement, l'évènement on_click se déclenche et la case est repositionnée dans son état inverse (état avant le clic). Or, ceci déclence le même évènement, avant que la routine change ait pu faire son return. Et ainsi de suite, indéfiniment, par elle ne passera plus par son return. Et donc, à un moment, il y a violation de mémoire caril y a dépassement de pile.
Essaie ceci - tu verras mieux ce qui se passe:
Code:
label change
check 1 : caption 1,"Check 1"
mark_on 1
on_click 1, change

END

change:
  off_click 1
  if checked(1)=1 then mark_off 1
  if checked(1)=0 then mark_on 1
  on_click 1, change
RETURN

En fait, pour ton histoire de mot de passe, il ne faut surtotu pas faire d'évènement on_click sur le combo. Simplement, au moment de décider quoi faire avec le mot de passe, tu interroges la combo par la fonction checked(1) qui te retourne l'information dont tu as besoin.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


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

pouvez-vous me dire pourquoi ce code plante. (Résolu) Empty
MessageSujet: Re: pouvez-vous me dire pourquoi ce code plante. (Résolu)   pouvez-vous me dire pourquoi ce code plante. (Résolu) EmptyMar 13 Oct 2015 - 7:35

Je regrette d'avoir posté ce sujet, car en y regardant bien le code n'est pas cohérent.

Mon code, tel que je l'ai présenté, fonctionne bien à condition de remplacer Mark_on et Mark_off par une variable qui sera enregistrée. Ensuite au démarrage du programme cette variable servira à cocher ou pas le Check (c'est à ce moment là que Mark_on et Mark_off sont utile)

Désolé de vous avoir fait perdre votre temps.

A+
Revenir en haut Aller en bas
Contenu sponsorisé





pouvez-vous me dire pourquoi ce code plante. (Résolu) Empty
MessageSujet: Re: pouvez-vous me dire pourquoi ce code plante. (Résolu)   pouvez-vous me dire pourquoi ce code plante. (Résolu) Empty

Revenir en haut Aller en bas
 
pouvez-vous me dire pourquoi ce code plante. (Résolu)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [RESOLU] Pouvez-vous voir ce que je n'arrive pas à saisir?
» Et pourquoi ?...[RESOLU]
» [Résolu] Pourquoi item_add n'ajoute pas un caractère?
» Un programme plante sous l'IDE, mais marche sous l'éditeur
» [Résolu] SCANCODE ne scanne pas (ou plus) le code !

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: