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
» PanExpress : l'éditeur Panoramic avec création d'objet
par Marc Aujourd'hui à 1:24

» Demande pour Jack concernant PanExpress
par Marc Hier à 23:56

» Calculatrice
par joeeee2017 Hier à 9:35

» EPP_V01 éditeur pour Panoramic
par Jean Claude Hier à 8:51

» Planétarium virtuel.
par Jean Claude Lun 17 Sep 2018 - 18:14

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

» Plantage lors de l'exécution de EXIT_SUB
par Jack Lun 3 Sep 2018 - 18:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Violation d'accès.

Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
Jack
Admin
avatar

Nombre de messages : 1912
Date d'inscription : 28/05/2007

MessageSujet: Re: Violation d'accès.   Sam 19 Mar 2016 - 21:09

J'ai codé une capture de toutes les exceptions, avec affichage d'un numéro de ligne quand l'exception arrive pendant l'exécution d'un source.

Voici un exemple d'affichage :



Demain je termine cela et je mets une version instantanée à disposition.

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.1fr1.net
JL35



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

MessageSujet: Re: Violation d'accès.   Sam 19 Mar 2016 - 21:51

Super, merci Jack pour la rapidité.

En attendant je viens d'essayer mon système sur le programme DICO.bas de Mike (voir la rubrique 'Les inutilitaires').
Son programme me fait une erreur 'Indice de liste hors limites (0)', évidemment sans numéro de ligne.
Avec mon petit utilitaire ça me donne arrêt à la ligne 250:
DB_NB_ENREGISTREMENT=VAL(ITEM_READ$(DB_OUTPUT,1))
Il me manque probablement une ressource, je n'ai pas du tout étudié le programme, mais c'est pour dire que j'ai bien récupéré un numéro de ligne, ce qui limite considérablement les recherches. Et d'autant plus si on ne connaît pas le programme.

Et si c'est en natif dans Panoramic, alors là ça fera des arrachages de cheveux en moins !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Violation d'accès.   Sam 19 Mar 2016 - 22:55

C'est un grand pas en avant, Jack ! Merci pour cet effort !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 3015
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Violation d'accès.   Sam 19 Mar 2016 - 23:19

Merci pour ta réactivité Jack !
Ça va nous changer la vie c'est sûr. Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Invité
Invité



MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 0:30

Voila une bonne avancée. Merci Jack

@JL35
Je viens de faire des essais. Je ne pouvais pas avant car je n'avais qu'un Linux.
J'ai des problèmes de chemin, j'ai pas trop envie d'aller chercher du côté des noms courts. Vu que d'autres ont essayé, et que ça marche, alors bravo. J'ai du mal à rentrer dans des codes en ce moment, fatigue oblige.
Revenir en haut Aller en bas
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 20 Mar 2016 - 7:00

Merci Jack,
tu vas sauver quelques uns de mes cheveux... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5929
Age : 46
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 8:35

C'est clair que se sera vraiment un plus surtout pour le public visé par Panoramic: Les débutants et surtout aussi pour ceux qui ne le sont plus et qui le maltraite ou qui font de gros programmes. Bref en somme pour tout le monde quoi... Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 10:05

Comme dit Klaus, c'est un grand pas en avant pour Panoramic et ses adeptes.
A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 13:41

@cosmos:
Une version avec les noms courts générés automatiquement à partir des chemins normaux.
Il y a toujours les 3 variables à mettre à jour: r$ (répertoire des sources), panedi$ (Panoramic_Editor.exe), panexe$ (Panoramic.exe):
Code:
LABEL Chp,Info
DIM r$,fr$,i%,a$,c$,q$,panedi$,panexe$
r$ = "C:\PANORAMIC"+CHR$(92): ' Répertoire des sources Panoramic
  FileShort(r$): r$ = CLIPBOARD_STRING_PASTE$: ' nom court
panedi$ = "C:\Program Files (x86)\Panoramic Editor\PANORAMIC_EDITOR.exe"
  FileShort(panedi$): panedi$ = CLIPBOARD_STRING_PASTE$: ' nom court
panexe$ = "C:\Program Files (x86)\Panoramic Editor\PANORAMIC.exe"
  FileShort(panexe$): panexe$ = CLIPBOARD_STRING_PASTE$: ' nom court
fr$ = r$+"Debug_tmp.bas": ' Fichier source de manoeuvre (créé)
q$ = CHR$(34)
WIDTH 0,230: HEIGHT 0,SCREEN_Y-40
BORDER_SMALL 0: CAPTION 0, "-   DEBUG   -"
ALPHA 8: TOP 8,2: FONT_SIZE 8,10: FONT_BOLD 8: CAPTION 8,"Clic le progr. à debugger "
  COLOR 8,255,255,128
BUTTON 9: WIDTH 9,30: LEFT 9,WIDTH(0)-50: HEIGHT 9,22: CAPTION 9,"?"
  FONT_BOLD 9: FONT_SIZE 9,10: ON_CLICK 9,Info
CONTAINER_OPTION 10: TOP 10,21: WIDTH 10,WIDTH(0)-20: HEIGHT 10,30
  CAPTION 10,"Exécuter dans:": COLOR 10,200,255,255
OPTION 11: PARENT 11,10: TOP 11,13: LEFT 11,3: CAPTION 11,"Panoramic_Editor"
OPTION 12: PARENT 12,10: TOP 12,TOP(11): LEFT 12,115: CAPTION 12,"Panoramic.exe"
  MARK_ON 11
LIST 1: TOP 1,50: WIDTH 1,210: HEIGHT 1,HEIGHT(0)-90: FONT_NAME 1,"Consolas"
  ON_CLICK 1,Chp
MEMO 2: HIDE 2
DLIST 4
DLIST 5
EXECUTE_WAIT "Cmd.exe /c DIR /B "+r$+"*.bas | clip"
CLIPBOARD_PASTE 2
FOR i% = 1 TO COUNT(2): ITEM_ADD 1,ITEM_READ$(2,i%): NEXT i%
END
' ==============================================================================
Chp:
  FILE_LOAD 4,r$+ITEM_INDEX$(1)
  FOR i% = 1 TO COUNT(4)
      ITEM_ADD 5,"  Caption 0,"+q$+"Ligne: "+STR$(i%)+" *** debug ***"+q$
      ITEM_ADD 5,ITEM_READ$(4,i%)
  NEXT i%
  FILE_SAVE 5,fr$
  IF CHECKED(11) = 1
      EXECUTE panedi$+" "+fr$: ' exécution dans Panoramic_Editor
  ELSE
      EXECUTE panexe$+" "+fr$: ' exécution dans Panoramic.exe
  END_IF
TERMINATE
' ==============================================================================
Info:
  c$ = CHR$(10)
  a$="Débogage d'un programme dont l'origine de l'erreur n'est pas localisée."+c$
  a$=a$+"  (méthode cosmos70)"+c$+c$
  a$=a$+"Ce module intercale entre toutes les lignes du programme à tester une ligne"+c$
  a$=a$+q$+"CAPTION 0 "+q$+" + n° de la ligne courante, et crée un nouveau fichier: Debug_tmp.bas"+c$
  a$=a$+"(dont le nombre de lignes est donc le double de celui de l'original)"+c$+c$
  a$=a$+"C'est ce nouveau fichier/programme qui sera exécuté, soit dans Panoramic_Editor,"+c$
  a$=a$+"soit dans Panoramic.exe (choisi préalablement)."+c$+c$
  a$=a$+"Usage:"+c$
  a$=a$+"1) Choisir d'abord le programme d'exécution (Panoramic_Editor ou Panoramic.exe)"+c$
  a$=a$+"2) Cliquer dans la liste des programmes le source (.bas) à tester."+c$+c$
  a$=a$+"Quand le programme part en erreur, le numéro de la ligne où il s'est arrêté est"+c$
  a$=a$+"affiché dans le caption du Form 0."
  MESSAGE a$
RETURN
' ==============================================================================
SUB FileShort(f$)
  ' Chemin court fichier f$ -> clipboard
  EXECUTE_WAIT "cmd /c for %A in ("+CHR$(34)+f$+CHR$(34)+") do @echo %~sA | clip"
  CLIPBOARD_STRING_COPY LEFT$(CLIPBOARD_STRING_PASTE$, LEN(CLIPBOARD_STRING_PASTE$)-3)
END_SUB
' ==============================================================================


Dernière édition par JL35 le Dim 20 Mar 2016 - 16:09, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 16:05

Merci JL35
J'ai compris pourquoi cela ne fonctionnait pas. Dans r$ il faut mettre un anti-slash à la fin, pour remplir le list. Mais peut-être est-il "bouffé" par le forum.

Bien le programme fonctionne. geek
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 16:09

Tu as raison ! l'antislash a bien été bouffé par le forum, encore un coup !
Je vais essayer de le remettre... ou alors sous une autre forme...
Un peu agaçant ce forum qui modifie ce qui est entre les balises 'code'
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 16:16

Le forum déteste  ou au contraire, il aime trop l’anti-slash ( \ ) terminal  au point de le bouffer.
Il est prudent de faire :

Code:

r$ = "C:….\PANORAMIC" + chr$(92)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



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

MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 16:59

Tiens papydall, c'est justement ce que j'ai fait ! enfin, après coup...

Tout de même, cet antislash est entre des balises code, et en plus entre des guillemets,
alors je me demande bien ce qui fait que ça saute comme ça ! c'est n'importe quoi ! Evil or Very Mad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jack
Admin
avatar

Nombre de messages : 1912
Date d'inscription : 28/05/2007

MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 17:35

La version instantanée V 0.9.27i6 est disponible au téléchargement.

Pour tout arrêt, du à une cause extérieure à Panoramic, une fenêtre s'affiche.
Cette fenêtre indique :
- le numéro de ligne qui était en cours d'exécution lors de cette erreur,
- le libellé de l'erreur.

J'ai sorti rapidement cette version et il n'y a pas encore de lien avec l'editeur qui ne visualise pas la ligne en erreur comme c'est le cas lors d'une erreur détectée par Panoramic.
Je vous demande de tester cette version, et de proposer d'éventuelles améliorations, car je n'ai pas pu tester tous les cas.
Je pense que l'indication du numéro de ligne va faciliter la recherche d'erreur dans de grands programmes.

Accessoirement, cette version possède une nouvelle commande :
SHOW_MODAL N qui permet de visualiser un FORM modal de numéro N. L'exécution d'un programme est suspendue pendant la visualisation d'une fenêtre modale. C'est une vieille demande sur le forum qui se concrétise.

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.1fr1.net
Minibug

avatar

Nombre de messages : 3015
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 17:46

Merci Jack, je teste de suite... cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 20 Mar 2016 - 17:47

cheers  Merci Jack.

La fenêtre modal en bonus, là, c' est super !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: Violation d'accès.   Dim 20 Mar 2016 - 17:54

Merci Jack,

Si j'ai bien compris SHOW_MODAL N permet de remplacer Inactive 0 jusqu’à ce que l'utisateur click sur un bouton de sortie ou par la croix rouge. Donc un FORM modal c'est un FORM comme les autres, c'est SHOW_MODAL qui le change. Un peu comme BORDER_SMALL...
Si c'est le cas ça tombe à pic pour mon code Stratégo.

Je télécharge et j'essai.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Violation d'accès.   

Revenir en haut Aller en bas
 
Violation d'accès.
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

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: