Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2006, 04:21
oriopitufa
 
Fecha de Ingreso: julio-2005
Mensajes: 103
Antigüedad: 19 años, 7 meses
Puntos: 0
Pregunta Una de threads

Hola a todos,
tengo un problema a la hora de utilizar threads (hilos) en mi aplicación. El código es el siguiente:
Código:
Public Class PopUpMantenimiento

    Private mensaje As New ArrayList
    Private avisos As New ArrayList
    Private hilos As New ArrayList
    Private i As Integer

    Public Sub New()
       
    End Sub

    
    Public Sub Work()

        Try

            mensaje.Add("Hola 1")
            mensaje.Add("Hola 2")
            mensaje.Add("Hola 3")


            For i = 0 To mensaje.Count - 1

                avisos.Add(New ClaseThread(mensaje(i)))
                hilos.Add(New Thread(AddressOf CType(avisos.Item(i), ClaseThread).Work))
                CType(hilos.Item(i), Thread).Start()
              
            Next


        Catch ex As Exception
          Throw ex
        End Try

    End Sub
Donde claseThread es la siguiente:

Código:
Public Class ClaseThread
    Private Shared mensaje As String
    Private i As Integer

    Public Sub New(ByVal mens As String)

        MyBase.New()
        mensaje = mens

    End Sub

    Public Sub Work()


        Dim aviso As New formulario
        aviso.Label1.Text = mensaje
        aviso.Focus()
        aviso.ShowDialog()

    End Sub

End Class
El problema es que al ejecutar el procedimiento Work() de la clase PopUpMantenimiento me muestra los 3 formularios que debería mostrar, pero siempre lo hace con el valor "Hola 3" en el label. Alguien sabría decirme a que se debe y como solucionarlo?? Me estoy volviendo loca con este tema!!

Muchas gracias