Et donc le InStrRev(RootPath, "") avec le C: et bien ça renvoit 0, je suis désolé de reproduire ce bug :( quand au exit do si on le fait pas la boucle est infini.
Voila pour les petits détails que je peux t'apporter.
++
cs_olid
Messages postés296Date d'inscriptionlundi 2 septembre 2002StatutMembreDernière intervention28 janvier 2008 7 oct. 2004 à 19:26
Heu.. je comprend pô comment tu peux avoir un InStrRev(RootPath, "") égal à 0... Car ya toujour au moins les deux "\" du lecteur disque !!! :o.
Ou alors, tas donné un chemin relatif avec des "..", non ?
Etpis, faire un "exit do", çà te donne un resultat cohérent ?
cs_intertek
Messages postés9Date d'inscriptionmardi 1 avril 2003StatutMembreDernière intervention 8 octobre 2004 7 oct. 2004 à 10:30
J'ai eu un bug en l'utilisant
J'ai eu un InStrRev(RootPath, "") égal à 0
J'ai corrigé de cette façon :
Do While ((Len(RootPath) + Len(FileName) + 5) > MaxLenght)
If InStrRev(RootPath, "") > 0 Then
RootPath = Left(RootPath, InStrRev(RootPath, "") - 1)
Else
Exit Do
End If
Loop
Sinon ça marche bien :)
++
jmlucienvb
Messages postés129Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention12 février 2009 7 oct. 2004 à 08:52
C'est mieux avec un petit exemple...
Bon d'accord peux pas tout faire...
Je vais essayer...
8 oct. 2004 à 13:23
8 oct. 2004 à 12:45
il faudrait ajouter un test avant la boucle pour gérer ce cas là. Et pour renvoyer une chaine sous cette forme :
"c:\...\x86_Microsoft.Tools.VisualCPlusPlus.Runtim..."
le nom du fichier doit etre raccourci de (maxlenght - 10) caracteres en partant de la gauche... Si tu veux suivre l'exemple de Office ;op
Jai pô le temps de le corriger et mettre à jour... Pense à nous si tu le fais ;o)
8 oct. 2004 à 09:03
En debug sous vb j'obtiens les valeurs suivantes lors de l'erreur
? MaxLenght
100
? FullPath
C:\WINDOWS\WinSxS\x86_Microsoft.Tools.VisualCPlusPlus.Runtime-Libraries.Resources_6595b64144ccf1df_6.0.0.0_fr-FR_9d8c4a39
? RootPath
C:
? FileName
x86_Microsoft.Tools.VisualCPlusPlus.Runtime-Libraries.Resources_6595b64144ccf1df_6.0.0.0_fr-FR_9d8c4a39
Et donc le InStrRev(RootPath, "") avec le C: et bien ça renvoit 0, je suis désolé de reproduire ce bug :( quand au exit do si on le fait pas la boucle est infini.
Voila pour les petits détails que je peux t'apporter.
++
7 oct. 2004 à 19:26
Ou alors, tas donné un chemin relatif avec des "..", non ?
Etpis, faire un "exit do", çà te donne un resultat cohérent ?
7 oct. 2004 à 10:30
J'ai eu un InStrRev(RootPath, "") égal à 0
J'ai corrigé de cette façon :
Do While ((Len(RootPath) + Len(FileName) + 5) > MaxLenght)
If InStrRev(RootPath, "") > 0 Then
RootPath = Left(RootPath, InStrRev(RootPath, "") - 1)
Else
Exit Do
End If
Loop
Sinon ça marche bien :)
++
7 oct. 2004 à 08:52
Bon d'accord peux pas tout faire...
Je vais essayer...