Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/08/2010, 11:50
javi37
 
Fecha de Ingreso: abril-2009
Mensajes: 160
Antigüedad: 15 años
Puntos: 3
Pregunta problema con hilos de ejecución

Hola. tengo una pega con hilos de ejecución.
Me explico.
Tengo un formulario, que una de las muchas opciones es abrir otro para cargar todos los usuarios de un dominio windows 2003 y ver su estado (habilitado o no).

En el 2 formulario con hilo intento realizar el proceso....

Código:
hilo = New Threading.Thread(AddressOf cargar_usuarios_administradores) ' lanzamos hilo de ejecución
        hilo.Start()
intento cargar los datos, en "cargar_usuarios_administradores" se llama a una función que está en el primer 1 y devuelve un arraylist con los datos.

Pues no hay manera,

si llamo directamente a "cargar_usuarios_administradores" si lo hace bien, pero claro, no se puede detener el proceso, si fuese con un hilo si.

Supongo que tendrá que ver algo del tema de los delegados pero no se como.

como sería el tema de los delegados, un ejemplo sencillo para entenderlo

ahhhh, una cosa

en otros formulario se llama funciones del mismo modo, reciben parámetros, devuelven un arraylist y no da pegas al ser llamas desde un hilo de ejecución.
Pero esta si, y es lo mismo, no se modifica nada desde la función, solo llenar el arraylist con los datos

os paso la función que no se deja llamar desde un hilo desde un formulario distinto desde donde esta

Cita:
Public Function administradores_delegados(ByVal unidad As String, ByVal controlador As String)
Try
Dim cadena As String = "LDAP://" & controlador & "/" & unidad & "," & dominio
Dim ad1 As New DirectoryEntry(cadena)
Dim buscar As New DirectorySearcher(ad1)
buscar.PageSize = 2500
buscar.Filter = "(&(objectClass=user)(objectClass=person))"
Dim ad2 As DirectoryEntry
Dim listado As ArrayList = New ArrayList
For Each elemento As SearchResult In buscar.FindAll
Try
ad2 = elemento.GetDirectoryEntry
listado.Add(ad2.Properties("name").Value & "*" & ad2.NativeObject.AccountExpirationDate() & "*" & ad2.Properties("Description").Value)
Catch ex As Exception

End Try
Next
Return listado
Catch ex As Exception
Return False
End Try
End Function
muchas gracias

Última edición por javi37; 27/08/2010 a las 12:24