Saltar al contenido principal

 none
como llamar a traves de subprocesos a controles de windows RRS feed

  • Pregunta

  • hola amigos buen dia

    mi problema esta en el siguente fragmento de codigo

    Private Sub peticiones()

            Dim iCont As Integer
            For iCont = 1 To 1000
                Me.TxtPeso.Text = ConsultaBascula() ' me indica que no se encontro invalidOperationException y porlotanto truena el sistema
            Next
            Me.oHebra.Abort()

        End Sub

    Private Sub TextBox5_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtPeso.KeyPress
            If e.KeyChar = Microsoft.VisualBasic.ChrW(13) Then
                e.Handled = True
              
                Me.oHebra = New Thread(AddressOf Me.peticiones)
                Me.oHebra.Start()


            End If
        End Sub

    agrego la funcion consultabascula

    Public Function ConsultaBascula() As Double
            Dim CadenaRecibida As String = ""
            Dim CharRecibido As Integer
            ConsultaBascula = 1
            Try
                Using PuertoCom1 As IO.Ports.SerialPort = My.Computer.Ports.OpenSerialPort("COM1")
                    PuertoCom1.BaudRate = 9600
                    PuertoCom1.Parity = IO.Ports.Parity.None
                    PuertoCom1.StopBits = IO.Ports.StopBits.One
                    PuertoCom1.DataBits = 8
                    PuertoCom1.BreakState = False
                    PuertoCom1.WriteTimeout = 500
                    PuertoCom1.ReadTimeout = 500
                    PuertoCom1.Write("P")
                    For I As Int16 = 0 To 7
                        CharRecibido = PuertoCom1.ReadChar
                        If CharRecibido = 32 Then
                        Else
                            CadenaRecibida = CadenaRecibida & Chr(CharRecibido).ToString()
                        End If
                    Next
                    ConsultaBascula = CDbl(CadenaRecibida)
                    Console.WriteLine("Se logro recuperar: " & ConsultaBascula)
                    PuertoCom1.Close()
                End Using

            Catch ex As Exception
                MsgBox(ex.Message)
            Finally
                If ConsultaBascula = 0 Then ConsultaBascula = 1
            End Try


        End Function

    martes, 5 de octubre de 2010 16:05

Respuestas

Todas las respuestas