Page 1 sur 1

[R] Une variable peut elle être dimension range exceeded?

Posté : mer. 15 janv. 2014 22:08
par labougie
Bonsoir,

Voici l'erreur
Array variable has incorrect number of subscripts or subscript dimension range exceeded.:

Le script suivant:
► Afficher le texte
Fonctionne parfaitement bien dans les cas suivants:

Recherche de: Dylan
Option: .mp3
Lecteur: peu importe c:\ d:\ ou h:\
Le logfilefile sort nikel
Si je demande l'extraction du hash md5, c'est nikel aussi

Je fais la même demande mais en imposant
l'option de lecteur: All
Fonctionne nikel sans l'extraction du hash md5
si je demande le hash, une erreur sort
C:\Users\Labougie\Desktop\ToolSearch terminé.au3 (665) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
SplashTextOn ("", "Scanning Files... " & $k & "\ " & $file[$i] & " " & $opt, 500, 55, -1, -1, 16)
SplashTextOn ("", "Scanning Files... " & $k & "\ " & ^ ERROR
->21:49:10 AutoIt3.exe ended.rc:1
$file[$i] ne semble plus être au top

pourtant le scan s'effectue sur l'ensemble des lecteurs, de c:\ à g:\ le fichier dylan.mp3 n'existe pas.
Ils se trouvent sur h:\
Là il sont tous listés mais en continuant le script sur le lecteur i:\ blocage.

Cette fois-ci je sèche franchement

voici la ligne 665
SplashTextOn ("", "Scanning Files... " & $k & "\ " & $file[$i] & " " & $opt, 500, 55, -1, -1, 16)

Quand le splashon affiche le chemin complet du dernier fichier cela crée le beugue.

il faut savoir que le splashon n'affiche que la lettre du lecteur, le mot recherché, et l'option, JAMAIS le path du fichier

donc ceci Scanning Files... d:\ Dylan all se situe dans le splash

J'ai changé la taille du splash longeur largeur, cela ne rèsoud le problème
labougie

Re: [..] Une variable peut elle être dimension range exceede

Posté : mer. 15 janv. 2014 22:57
par jguinch
Ah ah... le genre d'erreur qui peut être longue à trouver quand on a le nez dedans... :lol:
Bon, je pense avoir trouvé...
Tu as dans ton code plusieurs boucles, dont une qui sert à calculer le checksum :
For $i = 1 To Ceiling(FileGetSize($recherche[$e]) / $BufferSize)
Tu utilise $i dans cette boucle alors qu'il est utilisé dans la boucle principale. Remplacer $i par $n, par exemple...

Re: [..] Une variable peut elle être dimension range exceede

Posté : mer. 15 janv. 2014 23:55
par labougie
nothing else to say
You're amazing, awesome.

===============================================

Je suis le conseil de "Mikell",
un script, un test, ensuite intégration.

Du coup je pouvais chercher longtemps.
jguinch a écrit :Ah ah... le genre d'erreur qui peut être longue à trouver quand on a le nez dedans... :lol:
Oui, exactement, du temps de lecture, à comprendre comment le script se déroule, sachant qu'il fonctionnait avant :mrgreen: .
jguinch a écrit : Bon, je pense avoir trouvé...
Tu as dans ton code plusieurs boucles, dont une qui sert à calculer le checksum :
For $i = 1 To Ceiling(FileGetSize($recherche[$e]) / $BufferSize)
Tu utilise $i dans cette boucle alors qu'il est utilisé dans la boucle principale. Remplacer $i par $n, par exemple...
Je te paie une mousse quant tu passeras vers chez moi. :mrgreen: :mrgreen:

Labougie

Re: [..] Une variable peut elle être dimension range exceede

Posté : jeu. 16 janv. 2014 00:25
par mikell
labougie a écrit :Je suis le conseil de "Mikell",
un script, un test, ensuite intégration.
Le conseil est toujours valable
Mais faire attention à ne pas utiliser la même variable pour 2 usages différents c'est tout de même la base

Cela dit comme la blague m'est déjà arrivée toute ma compréhension :mrgreen: