FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Traceur de courbes représentatives des fonctions y = f(x)
par Ouf_ca_passe Aujourd'hui à 20:51

» Problème de syntaxe
par Klaus Aujourd'hui à 12:40

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 12:36

» Compilateur FBPano
par jean_debord Aujourd'hui à 12:31

» Toolbar en Panoramic
par ygeronimi Hier à 23:56

» Documentation des évènements
par Klaus Hier à 16:46

» Klaus est de retour!
par jjn4 Hier à 16:31

» Texte sur image
par Jicehel Hier à 12:23

» MIN - MAX avec SPIN
par ygeronimi Sam 21 Jan 2017 - 10:02

» HEIGHT_CLIENT(N)
par ygeronimi Ven 20 Jan 2017 - 16:41

» Non demande de commande
par ygeronimi Jeu 19 Jan 2017 - 11:50

» Bataille navale sous-marine
par papydall Jeu 19 Jan 2017 - 2:19

» Version instantanée du 16/01/2017 : PANORAMIC V 0.9.27i10
par mindstorm Mer 18 Jan 2017 - 21:05

» PLM N34
par Froggy One Mer 18 Jan 2017 - 17:32

» saving 1.png [RÉSOLU]
par Froggy One Mar 17 Jan 2017 - 19:44

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Janvier 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Un clic inactif

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité



MessageSujet: Un clic inactif   Ven 16 Mai 2014 - 0:35

Bonsoir,
Normalement cela devrait-être dans les bugs.
Depuis hier soir je suis confronté à un problème. Pour mon programme de site, j'ai voulu ajouté un sélecteur d'images qui se trouve dans le dossier img qui est créé pour chaque sujet.
Voila j'ai un grid qui a toutes les infos concernant les images liées au sujet. Mais comme on peu rajouter des images (et je le fait quotidiennement pour le même programme mais personnel sur le disque concernant mon jardin), il m'a paru plus agréable de rajouter une liste qui reçoit toutes les images, y compris celles qui ne sont pas encore dans le grid, pour sur un clic dans la liste, voir ce que cela représente. Plus simplement, je clique sur un bouton, et un liste se rempli de toutes les images du dossier. Je clique sur un item du liste, et on voit l'image.

Et bien voila: Le clic n'est pas pris en compte. Il ne se passe rien. Dès le départ j'ai évité les timers et on_change pour que rien de mon programme ne soit détourné. J'ai en cours 240 objets, et il s'en rajoute parfois.

Ayant déjà eu des problèmes, j'ai pu remarqué que parfois, il fallait redémarrer l'ordinateur, et le problème disparaissait. Ce matin j'ai donc redémarré l'ordinateur, et je ne me suis pas pressé. J'ai regardé si j'avais fait une erreur de conception. Presque toutes les sub et sous-programme ont une ligne:
sub$ = "sub nom de la sub ou du sous-programme() ":if control% = 1 then caption 0,sub$:wait 1000

Donc lorsque j'ai un problème, je mets control% à 1, et j'ai le temps de voir le cheminement du programme. Lorsque je clique, et bien, rien ne se passe. Il n'est pas reconnu.

J'ai donc fait une copie des objets sub et sous-programme concernés. Seul le parent peut-être différent, et c'est le cas pour un bouton, mais le problème ne se pose pas là, vu que celui-ci fonctionne. Donc j'ai recopié cette partie, et le clic sur un item du liste est reconnu et fonctionne.

Je vais finir par penser que je suis maudit. J'ai un programme qui fonctionne, et c'est rien que des trucs invraisemblable qui se passe. Les problèmes d'anti-virus, Un problème qui est apparu, et c'est avec "comment ça marche" que je le résouds(du moins je l'ai résolu seul, avec php je n'y arrive pas). Maintenant ce list qui ne se laisse pas cliqué, alors que l'item passe au bleu.

Je mets la partie du code recopié et celui-ci fonctionne. Ce code n'est pas fini, vu que dans mon programme il n'est pas actif au clic.
Code:
  label clic_list485
  dim sub$,control%,path$,rubr$,suj$
  
  ' ----------------------------
  path$ ="h:\site_cosmos70\Contributions\"  :' ces 2 variables peut-être pour testé être = ""
  suj$="palette-circulaire-couleur\"
  ' pour faire un teste mettre carémnent le path$ sur un dossier image, et suj$=""

  ' ***********************************************
  ' ..............controle d'une image..............

  picture 480:color 480,0,0,0:width 480,2000:height 480,2000:hide 480   :' picture caché recevant une image pour dimensionner

  ' ................................................
  ' à droite sous container input 173
  container 484 : left 484,760: top 484,271:width 484,682:height 484,300 :caption 484,"contenu du dossier image" : hint 484,484
  list 485:parent 485,484: top 485,20 : left 485,20:width 485,400 : height 485,230:font_size 485,10: font_bold 485 : hint 485,"list 485"

  on_click 485,clic_list485  : message "on_click 485,clic_list485 LU!"



  ' partie gauche
  container 486 : width 486,760 : height 486,800  : hint 486,486
  picture 481:parent 481,486:width 480,750 : height 481,height(484)-10 : left 481,5 : top 481,5


  ' ***********************************************

  button 482: parent 482,486: left 482,200 : caption 482,"Voir les images du sujet":width 482,205 : top 482,170

  label visionner_image   :   on_click 482,visionner_image
  control%=1

  end
' ==============================================================================

visionner_image:
  sub$ = "visionner_image: ":if control% = 1 then caption 0,sub$:wait 1000
  show 486:show 484
  clear 485 : faire_liste_image() : return
  
clic_list485:
sub$ = "clic_list485:":if control% = 1 then caption 0,sub$:wait 1000
    stop
     list485_image()
return

sub list485_image()
sub$ = "sub list485_image() ":if control% = 1 then caption 0,sub$:wait 2000
    message "ici sub"
     dim_local f$ , lx%,ly% , lig% , a%
 ' il faudra retirer png, gif.
     if item_index(485) > 0 and count(485) > 0
        lig% = item_index(485)  : color 480,0,0,0
        file_load 480,path$ + rubr$ + suj$ + "data\img\" + item_index$(485) :' 1 picture pour le calcul
        file_load 481,path$ + rubr$ + suj$ + "data\img\" + item_index$(485)
        for a% = 2000 to 50 step -200
            if color_pixel_red(480,a%,20) > 0 then exit_for
        next a%
        message a% :' arréter pour l'instant vu que le clic sur 485, ne branche pas
     end_if
end_sub


sub faire_liste_image()
  sub$ = "sub faire_liste_image() ":if control% = 1 then caption 0,sub$:wait 1000
     dim_local dir$,a$ ,ext$
     dir$ = path$ + rubr$ + suj$ + "data\img\"
     dir_change dir$
     a$ = file_find_first$ : ext$ = file_extract_extension$(a$)

     while a$ <> "_"
        if instr(" .bmp .jpg .jpeg .gif .png "," " + ext$ + " ") > 0
           item_add 485,a$
        end_if
        a$ = file_find_next$  : ext$ = file_extract_extension$(a$)
     end_while
     file_find_close
     on_click 485,clic_list485 :' remis ici le on_click qui est déjà validé.
   end_sub

Bien me voila seul, sans savoir ce que je vais pouvoir faire. Peut-être ne pas mettre cette partie. Dommage! scratch 
Je ne sais pas comment procéder pour avoir ce clic.
Revenir en haut Aller en bas
Klaus



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

MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 1:11

Très difficile à tester, ton bout de code. Les objets container etc se superposent chez moi, et je ne vois pas la liste des fichiers. J'ai désactivé certaines lignes déclarant des objets, et voici que la liste des images apparaît. Et si je clique sur une de ces lignes, j'obtiens bien la réaction au clic avec un passage dans clic_list485.

Voici le code:
Code:
  label clic_list485
  dim sub$,control%,path$,rubr$,suj$

  ' ----------------------------
  path$ =""  : ' klaus ces 2 variables peut-être pour testé être = ""
  suj$=""    : ' klaus
  ' pour faire un teste mettre carémnent le path$ sur un dossier image, et suj$=""

  ' ***********************************************
  ' ..............controle d'une image..............

  picture 480:color 480,0,0,0:width 480,2000:height 480,2000:hide 480  :' picture caché recevant une image pour dimensionner

  ' ................................................
  ' à droite sous container input 173
' klaus  container 484 : left 484,760: top 484,271:width 484,682:height 484,300 :caption 484,"contenu du dossier image" : hint 484,484
  container 484 : left 484,10: top 484,271:width 484,682:height 484,300 :caption 484,"contenu du dossier image" : hint 484,484
  list 485:parent 485,484: top 485,20 : left 485,20:width 485,400 : height 485,230:font_size 485,10: font_bold 485 : hint 485,"list 485"

  on_click 485,clic_list485  : message "on_click 485,clic_list485 LU!"



  ' partie gauche
' klaus  container 486 : width 486,760 : height 486,800  : hint 486,486
' klaus  picture 481:parent 481,486:width 480,750 : height 481,height(484)-10 : left 481,5 : top 481,5


  ' ***********************************************

' klaus button 482: parent 482,486: left 482,200 : caption 482,"Voir les images du sujet":width 482,205 : top 482,170
  button 482: left 482,200 : caption 482,"Voir les images du sujet":width 482,205 : top 482,170

  label visionner_image  :  on_click 482,visionner_image
  control%=1

  end
' ==============================================================================

visionner_image:
  sub$ = "visionner_image: ":if control% = 1 then caption 0,sub$:wait 1000
' klaus show 486:show 484
  clear 485 : faire_liste_image() : return

clic_list485:
sub$ = "clic_list485:":if control% = 1 then caption 0,sub$:wait 1000
    stop
    list485_image()
return

sub list485_image()
sub$ = "sub list485_image() ":if control% = 1 then caption 0,sub$:wait 2000
    message "ici sub"
    dim_local f$ , lx%,ly% , lig% , a%
 ' il faudra retirer png, gif.
    if item_index(485) > 0 and count(485) > 0
        lig% = item_index(485)  : color 480,0,0,0
        file_load 480,item_index$(485) :' 1 picture pour le calcul
        file_load 481,item_index$(485)
        for a% = 2000 to 50 step -200
            if color_pixel_red(480,a%,20) > 0 then exit_for
        next a%
        message a% :' arréter pour l'instant vu que le clic sur 485, ne branche pas
    end_if
end_sub


sub faire_liste_image()
  sub$ = "sub faire_liste_image() ":if control% = 1 then caption 0,sub$:wait 1000
    dim_local dir$,a$ ,ext$
    dir$ = "" : ' path$ + rubr$ + suj$ + "data\img\"
    ' dir_change dir$
    a$ = file_find_first$ : ext$ = file_extract_extension$(a$)

    while a$ <> "_"
        if instr(" .bmp .jpg .jpeg .gif .png "," " + ext$ + " ") > 0
          item_add 485,a$
        end_if
        a$ = file_find_next$  : ext$ = file_extract_extension$(a$)
    end_while
    file_find_close
    on_click 485,clic_list485 :' remis ici le on_click qui est déjà validé.
  end_sub

Donc, ton problème est dans les quelques lignes que j'ai désactivées.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 1:45

Merci d'avoir voulu tester Klaus.
Pour les container j'ai pas encore traité les visibilités. Je suis bloqué ailleurs.

Mais ce programme fonctionne ici. Le clic sur un item du list réagit.
On le voit en regardant le caption 0.
En cliquant sur le bouton (il faudrait ajouter full_space 0), on a le caption : sub faire_liste_image()
Ensuite en cliquant sur un item, (lorsqu'on a des images dans le dossier), on voit clic_list485:
Et bien dans mon programme d'où j'ai extrais les codes, le clic n'agit pas, et je ne vois pas ce caption. Pourtant l'item est en bleu.

Tu ne peux pas tester vraiment. Il faudrait que je mette mon programme à jour avec ces commandes sur mon site. Pour l'instant il n'est sauvegardé que sur un autre nom, pour ne pas perdre ce qui marche. Mais je ne vais pas demander à quelqu'un de me le déboguer. Mon programme je le connais, et rentrer dedans ne serait pas simple pour des yeux extérieurs.

Sachant ce que j'ai fait, c'est pas mon programme qui est en cause. Le on_click est lu. Il suffit de mettre un message derrière pour le voir. Comme cette partie est neuve, je peux te dire qu'il n'y a pas de OFF_CLICK pour le list. Pourtant dans mon programme il ne réagit pas, alors qu'ici (c'est le même) il réagit.

J'ai pensé qu'il y avait une limite dans le nombre d'objet cliquable à la fois, mais l'ajout d'un list dans mon programme, le clic se fait dans ce nouveau list. Le list 485 est actif, visible, non bloqué par un timer ou autre, et non détourné par autre chose. Et je ne vois pas comment il peut-être dans une queue de file. Si je reclique sur le bouton, le remplissage du list se refait, donc il n'y a pas de blocage.

Pour citer Fernand Raynaud:  "Y'a comme un défaut" !
Franchement je ne vois pas ce que tu peux faire. A moins qu'il y a quelque chose dans kgf, vu que je l'utilise pour visionner du html.
Revenir en haut Aller en bas
Klaus



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

MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 1:50

Peut_être une confusion de labels dans les commandes ON_CLICK... C'est vite arrivé étant donné que du utilises des numéros semblables, pour les labels. En tout cas, c'est une piste qui vaut d'être explorée.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 2:00

Non ce n'est pas le cas, mais je viens de résoudre le problème.
J'ai mis un deuxième liste en doublon pour recevoir les fichiers, que je recopie dans le list 485.

J'ai ensuite testé dans tout le programme les "inactive", et il n'y en avait pas pour ce list.

Et j'ai ajouté après le remplissage du list ceci:
active 485:on_click 485,clic_list489.

Pourquoi active 485 est nécessaire? je ne le sais pas.

Merci pour ta participation. Maintenant  Sleep
Revenir en haut Aller en bas
Klaus



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

MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 2:06

euh...
Citation :
active 485:on_click 485,clic_list489.
si 485 était inactif, il ne pourrait pas être cliqué...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 2:21

Sauf que:

Tel-qu’il est là, il est cliquable. Ajoute inactive 485, tu verras la différence.

Bon problème résolu, bonne nuit! et merci.
Revenir en haut Aller en bas
papydall



Nombre de messages : 5109
Age : 66
Localisation : Moknine (Tunisie)
Date d'inscription : 03/03/2012

MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 3:43

Salut tout le monde

J’ai voulu participer, alors j’ai un peu bricolé le code ; mais une affaire urgente m’a appelé et je n’avais pas posté mon truc.
Je retourne et je vois que cosmos 70 a résolu son problème : c’est tant mieux !


Mon truc:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Invité
Invité



MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 8:44

Bien Papydall. Jolie ville.

Le problème est que mon programme n'est pas en cause. Le placement des objets n'était pas encore définie, et pour présenter celui-ci j'ai changé quelques parent pour ne pas mettre du code inutile ici.

Mon code n'est tellement pas en cause que maintenant en mettant active en commentaire, voila que le list devient cliquable. C'était bien un blocage non pas de mon programme, mais de l'ordi.

Je ne dis pas que c'est Panoramic qui est en cause, car dernièrement j'ai repris mon programme AutoIt pour lancer Panoramic en apportant des améliorations. J'avais ces derniers temps un blocage d'AutoIt à un certain moment. Et bien d'un seul coup, ce blocage s'en envolé. Depuis 2009 que je programme en Panoramic, j'ai bien eu 5, 6 fois un problème de déroulent d'un programme qui théoriquement fonctionnait, mais rien. Et le fait de mettre un stop à tel endroit, par miracle le programme continuait ensuite, même une fois le stop retiré. Donc on peut très bien avoir un code correct, et quelque chose qui le dérange. Qui dit que ce n'est pas Windows qui est en cause? Il fait tellement de chose à la fois, qu'un chemin est peut-être perturbé. D'ailleurs plusieurs fois en redémarrant Windows, des problèmes disparaissaient ensuite.
Revenir en haut Aller en bas
Klaus



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

MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 10:54

Je pense que tu fais erreur, Cosmos70. Aucun "blocage" de l'ordinateur ne peut induire une inactivation d'un objet particulier. Tous les objets Panoramic sont créés "actifs", il n'y a pas de limite du nombre d'objets actifs simultanément, ni de nombre d'objets tout court, autre que les limites techniques de la machine. Et celles-ci sont quasiment impossibles à atteindre.

Non? Si ta liste est inactive, c'est qu'elle a été inactivée explicitement, par ine commande INACTIVE dont le numéro d'objet a été 485. Ceci peut arriver lorsque le numéro d'objet est dans une variable ou le résultat d'une expression, ou lorsqu"une telle commande a été oubliée quelque part dans le source, après une modification.

Je pense que tu as intérêt à chercher l'endroit qui provoque cette inactivation, car sinon, tu risques de rencontrer d'autres phénomènes "inexplicables" de ce genre. Crée une procédure comme ceci:
Code:
sub test_485(txt$)
  if inactive(485) then message "Oups ! "+txt$
end_sub
Et tu places des appels à cette procédure un peu partout, dans le cours de ton programme. Tu saura isoler ainsi, progressivement, la partie de ton code qui provoque cela. Une fois le problème corrigé, au lieu d'être obligé d'enlever tous ces ajouts, il suffit de mettre la ligne "if inactive(..." en commentaire, et le tour est joué.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 11:13

L)à Klaus, je ne peux plus être d'accord. J'abandonne.

SI JE TE DIS QU'IL N'Y A PAS INACTIF SUR LE LIST EN QUESTION, TU PEUX ME CROIRE, IL N'Y EN A PAS.

J'enlève le reste. Ça ne changera rien au résultat et ça me fait mal aux yeux.


Dernière édition par cosmos70 le Ven 16 Mai 2014 - 12:37, édité 1 fois
Revenir en haut Aller en bas
Invité
Invité



MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 11:24

Juste pour te dire que je ne t'en veux pas. Avec le mal que tu te donnes ici, cela serait difficile qu'il en soit ainsi.
Revenir en haut Aller en bas
papydall



Nombre de messages : 5109
Age : 66
Localisation : Moknine (Tunisie)
Date d'inscription : 03/03/2012

MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 14:02

Bonjour Cosmos70
Je ne doute pas un seul instant de ce que tu dis quand tu exposes un problème. king  king 
Tu dis qu’un ACTIVE 485 : ON_CLICK 485, clic_list489 a résolu le problème mais tu ne sais pas pourquoi est-il nécessaire bien qu’il n’y ait aucune instruction pour le désactiver.

Comme ça me dérange d’accepter l’inexplicable, j’ai essayé de comprendre pour satisfaire ma curiosité !  Laughing 
Dans ton 1er post, tu as écrit
cosmos70 a écrit:
Et bien voila: Le clic n'est pas pris en compte. Il ne se passe rien.

Je pense que le clic est bien pris en compte et qu'il s’est passé des choses ;  seulement on ne les voit pas.
Dans le code que tu as posté, j’ai simplement ajouté, en début de programme


Code:

Full_space 0

Et là, tout fonctionne à merveille ! (au moins chez moi).
Peux-tu confirmer ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Invité
Invité



MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 14:25

Merci Papydall.
Mais le programme limité posté fonctionne, et on ne voit pas forcément le résultat, car j'ai pas pensé à revoir le dimensionnement.

Mais vois-tu, le programme maintenant ne fonctionne plus.Toutes les procédures ont une ligne qui montre le cheminement du programme qui est:
sub$ = "visionner_image: ":if control% = 1 then caption 0,sub$:wait 1000
Dans "visionner_image" est le nom de la procédure.

Lorsque je clique sur un item du list, celui-ci est validé par la couleur de l'item. Donc le list est obligatoirement actif, sinon le list resterait blanc.

Dans la procédure: "faire_liste_image()" qui s'affiche dans le caption 0, j'ai mis à la fin:
Code:
     active 485:     on_click 485,clic_list485 : active 485
   end_sub
Lorsque j'ai fini de cliquer sur cet item qui est actif, vu qu'il prend la couleur, et si je clique sur un autre item, c'est celui-ci qui se colorise à la place de l'autre (là si le list 485 n'est pas actif, il faut m'expliquer) Attention je parle de mon vrai programme et non de la partie simplifié qui fonctionne . L'ordinateur n'a plus rien à faire que d'aller à "clic_list485" dans lequel j'ai la première ligne qui est:
Code:
sub$ = "sub list485_image() ":if control% = 1 then caption 0,sub$:wait 1000
Et bien, plus rien, le branchement ne se fait pas.

Certain pense que je divague. Moi j'ai la réalité en face de moi.

Je suis obligé de partir.
Revenir en haut Aller en bas
Invité
Invité



MessageSujet: Re: Un clic inactif   Ven 16 Mai 2014 - 16:13

J'ai peut-être trouvé une parade. Enfin pour l'instant cela marche. J'espère que c'est définitif.

J'ai rajouté: on_key_up 485,le même lien.

Cela montre que ce n'est pas une question de list actif, mais peut-être un bug sur on_click.
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Un clic inactif   Aujourd'hui à 23:54

Revenir en haut Aller en bas
 
Un clic inactif
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» RIGHTLOAD : le FTP sur un simple clic droit
» Bouton inactif
» comment faire clic droit et mon pseudo apparait
» Simulation d'appui sur une touche + clic + workback
» boutique bio www.clic-et-moi.fr/christie

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Présentation et bavardage-
Sauter vers: