Resultados 1 al 2 de 2

[VB .NET] Corregir este error

  1. #1 [VB .NET] Corregir este error 
    Iniciado
    Fecha de ingreso
    Jun 2007
    Mensajes
    19
    Descargas
    0
    Uploads
    0
    Hola:

    Hice un programa en VB .net 2017. Me da este error con el Me y no se como solucionarlo.

    ¿Alguna idea?

    El código es:
    Código:
    Imports System
    Imports System.Text
    Imports System.IO.Ports
    Imports System.IO
    Imports System.Diagnostics
    Imports System.Threading
    
    Namespace Recibir_archivo_desde_Arduino_consola_06
        Class Program
    
            Shared cantidadBytes As Integer
            Shared sb As New StringBuilder()
    
            Shared Sub Main(args As String())
                Dim COM As String = ""
                ' Título de la ventana.
                Console.Title = "Recoger foto desde Arduino y crearlo en el disco duro"
                ' Tamaño ventana consola.
                Console.WindowWidth = 55 ' X. Ancho.
                Console.WindowHeight = 18 ' Y. Alto.
    
                ' Crear un nuevo objeto SerialPort con la configuración predeterminada.
                Dim Puerto_serie As New SerialPort()
                ' Configuración.
                Console.Write("
    Introduzca un número para seleccionar puerto COM.
    Por ejemplo el 4, sería COM4.
    
    Puerto: ")
                COM = Console.ReadLine() ' Escribir el número del puerto.
                Console.Clear()
                Puerto_serie.PortName = "COM" & COM ' Número del puerto serie.
    
                Puerto_serie.BaudRate = 115200 ' Baudios. 115200.
                Puerto_serie.Parity = Parity.None ' Paridad.
                Puerto_serie.DataBits = 8 ' Bits de datos.
                Puerto_serie.StopBits = StopBits.One ' Bits de parada.
                Puerto_serie.Handshake = Handshake.None ' Control de flujo.
                ' Establecer la lectura / escritura de los tiempos de espera.
                Puerto_serie.ReadTimeout = -1 ' 500.
                Puerto_serie.WriteTimeout = -1 ' 500.
    
                Puerto_serie.Open() ' Abrir el puerto serie.
    
                'Puerto_serie.DataReceived += New SerialDataReceivedEventHandler(DataReceivedHandler)
                AddHandler Puerto_serie.DataReceived, AddressOf Me.Puerto_serie_DataReceived
                Console.WriteLine("Esperando datos desde Arduino... " & vbLf & "")
                Console.ReadKey()
                Puerto_serie.Close() ' Cerrar puerto.
    
            End Sub
    
            Private Shared Sub DataReceivedHandler(sender As Object, e As SerialDataReceivedEventArgs)
                'Private Sub Puerto_serie_DataReceived(ByVal sender As Object, ByVal e As DataReceivedHandler) Handles Puerto_serie.DataReceived
    
                Dim sp As SerialPort = DirectCast(sender, SerialPort)
                Dim indata As String = sp.ReadExisting()
                Dim data As String() = indata.Split({"A"c})
                cantidadBytes = Integer.Parse(data(0))
    
                Select Case data(1).ToString()
    
                    Case "1"
                        Console.WriteLine("Tamaño: " & cantidadBytes & " Bytes.")
                        Console.WriteLine("Foto: " & data(1) & ". Tipo de archivo: JPG")
    
                    Case "2"
                        Console.WriteLine("Tamaño: " & cantidadBytes & " Bytes.")
                        Console.WriteLine("Foto: " & data(1) & ". Tipo de archivo: PNG.")
    
                    Case Else
                        Console.WriteLine("Cosas raras en 'data': " & data.ToString())
    
                End Select
    
                Dim contador As Integer = 0 ' Por si hal algún error.
                Dim datosArray(0 To cantidadBytes - 1) As Byte
    
                Select Case indata
                    Case "17729A1"
                        Thread.Sleep(100)
                        Dim miBuffer = Encoding.ASCII.GetBytes("OK1") ' Codificación ASCII.
                        sp.Write(miBuffer, 0, miBuffer.Length) ' Envía OK1 al puerto serie.
    
                    Case "2065A2"
                        Thread.Sleep(100)
                        Dim miBuffer2 = Encoding.ASCII.GetBytes("OK2") ' Codificación ASCII.
                        sp.Write(miBuffer2, 0, miBuffer2.Length) ' Envía OK2 al puerto serie.
    
                    Case Else
                        Console.WriteLine("Cosas raras en 'indata': " & indata.ToString())
    
                End Select
    
                While True
    
                    contador += sp.Read(datosArray, contador, datosArray.Length - contador) ' Por si hal algún error.
                    Console.SetCursorPosition(10, 6)
                    Console.Write("Datos recibidos:  {0}", contador & " Bytes.")
                    Console.WriteLine("                   ")
                    If (contador = cantidadBytes) AndAlso (contador = 17729) Then
                        Mensaje1()
                        File.WriteAllBytes("fotón.jpg", datosArray) ' Crear archivo en el disco duro.
                        Mensaje2()
                        Process.Start("fotón.jpg") ' Ejecutar visualizador de imágenes.
                        Mensaje3()
                        'break ' Garantiza que el ciclo termine.
    
                    End If
    
                    If (contador = cantidadBytes) AndAlso (contador = 2065) Then
                        Mensaje1()
                        File.WriteAllBytes("fotón.png", datosArray) ' Crear archivo en el disco duro.
                        Mensaje2()
                        Process.Start("fotón.png") ' Ejecutar visualizador de imágenes.
                        Mensaje3()
                        'break ' Garantiza que el ciclo termine.
    
                    End If
    
                End While
    
            End Sub
    
            Public Shared Sub Mensaje1()
                Console.WriteLine()
                Console.WriteLine("Creando archivo al disco duro...")
            End Sub
    
    
            Public Shared Sub Mensaje2()
                Console.WriteLine()
                Console.WriteLine("Archivo creado. Ejecutando imagen.")
            End Sub
    
            Public Shared Sub Mensaje3()
                Console.WriteLine()
                Console.WriteLine("Imagen ejecutada.")
                Console.WriteLine()
                'Console.WriteLine("Cabecera recibida: " & indata & "" & vbLf & "")
                Console.ForegroundColor = ConsoleColor.Yellow ' Letras amarillas.
                Console.WriteLine("FIN DE PROGRAMA.")
                Console.ForegroundColor = ConsoleColor.Gray ' Letras grises otra vez.
            End Sub
    
        End Class
    
    End Namespace
    Error:
    Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido
    Error BC30043 'Me' solo es válido en un método de instancia. Recibir_archivo_desde_Arduino_consola_VB C:\Users\usuario\documents\visual studio 2017\Projects\Recibir_archivo_desde_Arduino_consol a_VB\Recibir_archivo_desde_Arduino_consola_VB\Modu le1.vb 51 Activo
    Citar  
     

  2. #2  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Buenas,

    Parece que el problema puede estar aquí:

    Código:
    AddHandler Puerto_serie.DataReceived, AddressOf Me.Puerto_serie_DataReceived
    Si te fijas, más adelante tienes la función comentada...

    Código:
     Private Shared Sub DataReceivedHandler(sender As Object, e As SerialDataReceivedEventArgs)
                'Private Sub Puerto_serie_DataReceived(ByVal sender As Object, ByVal e As DataReceivedHandler) Handles Puerto_serie.DataReceived
    Un saludo.
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

Temas similares

  1. Respuestas: 0
    Último mensaje: 16-03-2011, 19:03
  2. ¿por que me da este error?
    Por avf_valfre en el foro WINDOWS
    Respuestas: 1
    Último mensaje: 27-11-2007, 00:41
  3. q tal es este kit¿?
    Por salencko en el foro DIGITAL+
    Respuestas: 2
    Último mensaje: 09-04-2007, 19:02
  4. q tal es este kit¿?
    Por salencko en el foro DIGITAL+
    Respuestas: 0
    Último mensaje: 01-04-2007, 18:05
  5. Respuestas: 0
    Último mensaje: 04-07-2003, 01:41

Marcadores

Marcadores