Ver Mensaje Individual
  #8 (permalink)  
Antiguo 05/09/2006, 02:12
Avatar de SuperPinwi
SuperPinwi
 
Fecha de Ingreso: septiembre-2005
Mensajes: 317
Antigüedad: 19 años, 5 meses
Puntos: 1
Al final tras comentarlo me han dicho que es mejor que haga lo que me comentabas tú, de q salga un mensaje cada poco tiempo, así q tengo q usar el timer.

Un problemilla más compañera,
verás, mi aplicación está basada en hilos y debo llamar al método que me utiliza el temporizador desde el método q ejecuta el hilo, y por tanto es compartido. El problema es q no me permite hacer llamadas al timer desde métodos compartidos...



mi código va tal que así:

Public Shared Sub PruebaHilo()
Try
objConn.Open()
objAdapter = New OleDbDataAdapter("SELECT * FROM Actores ORDER BY IdActor", objConn)
dt = New DataTable
objAdapter.Fill(dt)
n = dt.Rows.Count
If n = 0 Then
MessageBox.Show("No se ha encontrado ningún registro que coincida con la selección")
Else
GC.KeepAlive(myTimer) 'aquí da el ERROR
End If
Catch ex As Exception
MessageBox.Show("El proceso ha terminado en un estado impreciso", "Aviso")
End Try
End Sub


Private Shared Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs, ByVal i As Integer, ByVal n As Integer, ByVal dt As DataTable, ByVal lblActores As Label)
Dim sIdActor, sNombre, sCodPelicula As String
For i = 0 To n - 1
Console.Read()
'Asignar a las variables el contenido del registro
sNombre = dt.Rows(i)("Nombre").ToString

'Mostrar los datos de la fila actual
lblActores.Text = sNombre
Next
End Sub

Y este es el error q sale:
"No se puede hacer referencia a un miembro de instancia de una clase desde un método compartido o un inicializador de método compartido sin una instancia explícita de la clase"

El caso es q ni siquiera se muestra la información en el label del form todavía, supongo q por el error del timer... alguna sugerencia sobre cómo solucionarlo? me estoy volviendo loca

gracias por la ayuda!