Visual Basic - problema con recursividad en VB

Life is soft - evento anual de software empresarial
 
Vista:

problema con recursividad en VB

Publicado por odetualet (4 intervenciones) el 22/08/2006 11:00:21
Buenas, me gustaría a ver si alguien me puede ayudar.
Estoy haciendo un programa para comprobar los permisos de los usuarios en una carpeta (folder) y sus subcarpetas. Para hacerlo estoy usando recursividad. elijo una carpeta raiz y a partir de ahi voy bajando hasta que encuentro una carpeta sin subcarpetas, por lo que ejecuto cacls y subo a la carpeta padre, y así reiteradamente.

En principio es sencillo, pero tengo un problema, si debugo puedo comprobar como entra en todas las carpetas y la ejecución es correcta. Pero si ejecuto el programa del tirón el resultado no es bueno, me salen menos carpetas. Parece como si se saltase pasos.

Esta es la función recursiva

Public Function TratarCarpeta(oCarpeta As Folder) As Boolean
Dim oFolder As Folder
Dim colFolder As Folders

On Error GoTo Error_proc

Set colFolder = oCarpeta.SubFolders
If bRecursivo And colFolder.Count > 0 Then
For Each oFolder In colFolder
Call TratarCarpeta(oFolder)
Next
End If
Call ProcesarCarpeta(oCarpeta)
TratarCarpeta = True

Exit Function

Error_proc:
Err.Raise Err.Number, Err.Description
TratarCarpeta = False
End Function

Como veis no es nada del otro mundo, pero parece que no le gusta mucho esto de la recursividad a esto del VB.

Muchas gracias por vuestra ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema con recursividad en VB

Publicado por Pere (1 intervención) el 22/08/2006 13:30:00
Hola, lo que buscas hace poco lo comentaro nel foro de www.canalvisualbasic.net , busca por recursividad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con recursividad en VB

Publicado por odetualet (4 intervenciones) el 22/08/2006 14:20:43
Moltes gràcies Pere!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar