Foros del Web » Programación para mayores de 30 ;) » .NET »

Una de threads

Estas en el tema de Una de threads en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/03/2006, 04:21
 
Fecha de Ingreso: julio-2005
Mensajes: 103
Antigüedad: 18 años, 9 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
  #2 (permalink)  
Antiguo 06/03/2006, 12:55
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Pues no sé si "Private Shared mensaje As String" te dice algo...

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 06/03/2006, 13:04
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola oriopitufa, no entiendo muy bien lo que pretendes hacer, en cuanto a tu duda obviamente todos los formularios te los mostrará como "Hola 3" porque tienes a tu miembro de tipo compartido.. para evitar ese problema cambia ésto:

Cita:
Private Shared mensaje As String
Por ésto:

Cita:
Private mensaje As String
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 06/03/2006, 13:05
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Pues no sé si "Private Shared mensaje As String" te dice algo...
jaja, dejé el mensaje abierto unos minutos y no me dí cuenta de tu respuesta known, no vayas a pensar que me ando robando tus respuestas... jeje

Salu2
  #5 (permalink)  
Antiguo 06/03/2006, 14:29
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Cita:
Iniciado por RootK
jaja, dejé el mensaje abierto unos minutos y no me dí cuenta de tu respuesta known, no vayas a pensar que me ando robando tus respuestas... jeje
Para nada, muchas veces me sucedió lo mismo

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #6 (permalink)  
Antiguo 07/03/2006, 02:18
 
Fecha de Ingreso: julio-2005
Mensajes: 103
Antigüedad: 18 años, 9 meses
Puntos: 0
Muchas gracias a todos!!

Menudo despiste he tenido!! jejeje. Me estaba volviendo loca mirando el resto de código y no había parado ni un momento a mirar la declaración de variables!!

Muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:50.