JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Erreur END_SUB Dim 21 Avr 2024 - 21:45 | |
| Quelque chose m'échappe... La sub qui suit génère la liste de tous les jours d'une année donnée, un article par jour sous la forme Mois,Jour,NomJour, par exemple 2,10,Sa (= Samedi 10 Février) Ca s'exécute bien, le résultat est correct, mais j'ai une erreur que je ne m'explique pas sur le END_SUB: - Code:
-
Annee_Liste(2024,"Z:\Lst.txt"): ' fichier réultat END
SUB Annee_Liste(an,fr$) ' Liste des jours de l'année an, résulat dans le fichier fr$ ' 1 art. = N°mois,N°jour,NomJour (2 lettres), ex: 2,10,Sa (=Samedi 10 Février) DIM_LOCAL lm(12),jj$(6),m,j,jd,js lm(1)=31: lm(2)=28: lm(3)=31: lm(4)=30: lm(5)=31: lm(6)=30 lm(7)=31: lm(8)=31: lm(9)=30: lm(10)=31: lm(11)=30: lm(12)=31 IF (MOD(an,4)=0) AND ((MOD(an,100)>0) OR (MOD(an,400)=0)) THEN lm(2)=29: ' bisex. jj$(0)="DI":jj$(1)="Lu":jj$(2)="Ma":jj$(3)="Me":jj$(4)="Je":jj$(5)="Ve":jj$(6)="Sa" DLIST 500 FOR m = 1 TO 12 FOR j = 1 TO lm(m) jd = an: IF m<3 THEN jd = jd-1 js = INT(23*m/9)+j+4+an+INT(jd/4)-INT(jd/100)+INT(jd/400) IF m > 2 THEN js = js-2 js = js-7*INT(js/7): ITEM_ADD 500,STR$(m)+","+STR$(j)+","+jj$(js) NEXT j NEXT m FILE_SAVE 500,fr$: DELETE 500 END_SUB Erreur Externe Ligne = 22 Access violation at address 00405844 in module 'PANORAMIC.exe'. Read or address FFFFFF9Gestion_Erreurs_Externes. N° de ligne 22 Ligne source END_SUB | |
|
papydall
Nombre de messages : 7002 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Erreur END_SUB Dim 21 Avr 2024 - 23:14 | |
| J'ai fais beaucoup de tests et j'ai découvert un bug dans DIM_LOCAL DIM_LOCAL n'aime pas la déclaration d'une variable locale de type tableau de chaine de caractères après la déclaration d'une variable numérique (simple ou tableau) Voici un code qui montre le bug - Code:
-
test() end rem ============================================================================ SUB test() ' dim_local c$(5), a(3),b(4) : ' <---- OK dim_local x(3),y$(5) : ' <---- KO !!!!!!! ' dim_local u,v$ : ' <---- OK ' dim_local a$(10) : ' <---- OK END_SUB rem ============================================================================
Pour revenir à ton code, modifie l'ordre des variables locales comme ceci - Code:
-
DIM_LOCAL m,j,jd,js ,jj$(6),lm(12)
et tout sera bon. | |
|
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Erreur END_SUB Lun 22 Avr 2024 - 9:20 | |
| Ça alors, il fallait le trouver !!! Merci ami papydall, c'est bien toi le meilleur, je confirme ! et bizarre que je ne sois pas tombé plus tôt dans cette erreur... Je note, merci encore à toi et bonne journée ! | |
|
jjn4
Nombre de messages : 2693 Date d'inscription : 13/09/2009
| Sujet: Re: Erreur END_SUB Lun 22 Avr 2024 - 13:43 | |
| Ah, c'est intéressant, car j'avais pris l'habitude de mettre toutes les variables tableaux en variables globales car j'avais remarqué que cela faisait du trucs bizarres en variables locales ! Voilà donc le truc ! Bravo Papydall ! Et bonjour à toi, JL35. | |
|
Contenu sponsorisé
| Sujet: Re: Erreur END_SUB | |
| |
|