begin process at 2008 07 06 03:10:30
1 205 441 membres
21 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Au secours besoin d'un pro pour un dépassement de capacité !!! [ Divers / Débutants ] (Marneus73)

Au secours besoin d'un pro pour un dépassement de capacité !!! le 11/05/2008 17:06:16

Marneus73

Bonjour à tous,
Voila j'ai crée une petite fonction qui doit ajouter dans un TreeView des noms de fichiers suivant leur extension. Mais la génération me retourne une erreure !!! Aidez moi s'il vois plait, c'est super important.
Voila le code correspondant:


Public Sub Organisation(ByVal extension As String, ByVal index_parent As Integer, ByVal index_enfant As Integer)

        Dim liste() As String = System.IO.Directory.GetFiles(My.Settings.Repertoire)
        Dim item As String

        For Each item In liste
            If System.IO.Path.GetExtension(item) = extension Then
                Dim item_ext As TreeNode = TreeView1.Nodes(index_parent).Nodes(index_enfant).Nodes.Add(item)
                item_ext.Name = item
                item_ext.Text = System.IO.Path.GetFileNameWithoutExtension(item)
            End If
        Next

        Dim Sous_Dossiers As String
        Dim Liste_Sous_Dossiers As String() = Directory.GetDirectories(My.Settings.Repertoire)

        For Each Sous_Dossiers In Liste_Sous_Dossiers
            Organisation(Sous_Dossiers, index_parent, index_enfant)
            'MessageBox.Show(Sous_Dossiers.ToString)
        Next

End Sub

Visual Studio me retourne une erreur du type :

Une exception non gérée du type 'System.StackOverflowException' s'est produite dans mscorlib.dll

PS: J'ai besoin d'appeler 14 fois cette fonction car j'ai 14 types de fichiers.

Merci beaucoup d'avance.


Re : Au secours besoin d'un pro pour un dépassement de capacité !!! le 11/05/2008 17:13:38

Marneus73
Désolé pour la mise en page:

PublicSub Organisation(ByVal extension AsString, ByVal index_parent AsInteger, ByVal index_enfant AsInteger)



        Dim liste() AsString = System.IO.Directory.GetFiles(My.Settings.Repertoire)

        Dim item AsString



        ForEach item In liste

            If System.IO.Path.GetExtension(item) = extension Then

                Dim item_ext As TreeNode = TreeView1.Nodes(index_parent).Nodes(index_enfant).Nodes.Add(item)

                item_ext.Name = item

                item_ext.Text = System.IO.Path.GetFileNameWithoutExtension(item)

            EndIf

        Next



        Dim Sous_Dossiers AsString

        Dim Liste_Sous_Dossiers AsString() = Directory.GetDirectories(My.Settings.Repertoire)



        ForEach Sous_Dossiers In Liste_Sous_Dossiers

            Organisation(Sous_Dossiers, index_parent, index_enfant)

            'MessageBox.Show(Sous_Dossiers.ToString)

        Next



EndSub

Re : Au secours besoin d'un pro pour un dépassement de capacité !!! le 11/05/2008 17:17:14

Marneus73
Je n'arrive pas à mettre mon code en couleur !!!
J'utilise ce site : http://tools.codes-sources.com/colorizeCode.aspx

Re : Au secours besoin d'un pro pour un dépassement de capacité !!! le 11/05/2008 17:46:00

Charles Racaud
Membre Club
Salut,

Sur quel ligne précise et sur quel parti t'indique t-il cette erreur ?

__________
  Kenji


Re : Au secours besoin d'un pro pour un dépassement de capacité !!! le 11/05/2008 18:00:31

casy
Membre Club
Réponse acceptée !
Le problème est que tu as fait une boucle sans fin avec la réentrance de ta fonction.

Si tu analyse bien ta fonction, lors du premier appel, tu passe en revue chaque fichier d'un répertoire dont tu donne le chemin en dur (My.Settings.Repertoire).

Ensuite pour chacun des sous répertoires de ce dossier, tu réappelle ta fonction (alors que tu n'es pas encore sorti du premier appel) avec l'idée de scanné le sous répertoire, sauf que ta fonction rescanne toujours le répertoire de départ puisqu'il est donné en dur, et ce jusqu'à l'infini ou plutot jusqu'à ce que la pile éclate sous le nombre des appels.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]

Re : Au secours besoin d'un pro pour un dépassement de capacité !!! le 11/05/2008 18:35:33

Classé sous : dossiers, string, liste, item, index

Participer à cet échange

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS