Bonsoir Jack,
Désolé pour le week-end...
As-tu regardé le post concernant le mode trace ?
J'essaye de trouver une astuce pour calculer le n° de ligne où l'erreur s'est produite dans le cas de programmes avec include,
c'est franchement mariole !...
Avec un peu de réflexion, le numéro de ligne en cas d'erreur peut être calculé comme ceci :
- Code:
-
1 label TraiteErreur
2 dim nb_ligne_inc:nb_ligne_inc = 5 : ' nombre de ligne du fichier include
3 dim num_ligne_inc:num_ligne_inc=7 : ' numero de la ligne où l'instruction include se trouve
4 on_error_goto TraiteErreur
5
6
7 #include "inc.bas"
8
9 dim i,j
10
11 for i = 0 to 100 : j = j + i: next i
12 end
13
14
15 TraiteErreur:
16 if error_line < num_ligne_inc
17 message error_type$+" ligne "+str$(error_line)
18 else
19 if error_line>num_ligne_inc+nb_ligne_inc-1
20 message "ligne "+str$(error_line-nb_ligne_inc+1)+" ->"+error_type$
21 else
22 message "include: ligne "+str$(error_line-num_ligne_inc+1)+" ->"+error_type$
23 end_if
24 end_if
25 terminate
26 return
Cet exemple ne fonctionne qu'avec un seul include. Mais le principe est là...