[VB.NET] La conversion "" en el tipo 'Integer' no es válida

Topic created · 5 Mensajes · 8957 Visitas
  • Hola.

    Me gustaria que me ayudarais con este error en visual basic 2010.

    El proyecto trata para que hos hagais una idea, es de una especie de antivirus escrito en Visual basic 2010 el antivirus me funciona bien, escanea los discos, mira los procesos pero cuando detecta un virus y le doy al boton eliminar me dice un error de

    La conversion "" en el tipo 'Integer' no es válida
    Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración
    Just-In-Time (JIT) en lugar de a este cuadro de diálogo.

    ************** Texto de la excepción **************
    System.InvalidCastException: La conversión de la cadena "" en el tipo 'Integer' no es válida. ---> System.FormatException: La cadena de entrada no tiene el formato correcto.
    en Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
    en Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
    --- Fin del seguimiento de la pila de la excepción interna ---
    en Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
    en Kururu_Antivirus.Form2.Button1_Click(Object sender, EventArgs e)
    en System.Windows.Forms.Control.OnClick(EventArgs e)
    en System.Windows.Forms.Button.OnClick(EventArgs e)
    en System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    en System.Windows.Forms.Control.WndProc(Message& m)
    en System.Windows.Forms.ButtonBase.WndProc(Message& m)
    en System.Windows.Forms.Button.WndProc(Message& m)
    en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Ensamblados cargados **************
    mscorlib
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll

    Kururu Antivirus
    Versión del ensamblado: 1.0.0.0
    Versión Win32: 1.0.0.0
    Código base: file:///C:/Documents%20and%20Settings/Administrador/Escritorio/Kururu%20Antivirus.exe

    Microsoft.VisualBasic
    Versión del ensamblado: 8.0.0.0
    Versión Win32: 8.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll

    System
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

    System.Windows.Forms
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

    System.Drawing
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

    System.Runtime.Remoting
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll

    mscorlib.resources
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll

    System.resources
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.resources/2.0.0.0_es_b77a5c561934e089/System.resources.dll

    Microsoft.VisualBasic.resources
    Versión del ensamblado: 8.0.0.0
    Versión Win32: 8.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic.resources/8.0.0.0_es_b03f5f7f11d50a3a/Microsoft.VisualBasic.resources.dll

    System.Windows.Forms.resources
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll

    ************** Depuración JIT **************
    Para habilitar la depuración Just In Time (JIT), el archivo de configuración de esta
    aplicación o equipo (machine.config) debe tener el
    valor jitDebugging establecido en la sección system.windows.forms.
    La aplicación también se debe compilar con la depuración
    habilitada

    Por ejemplo:

    Cuando esté habilitada la depuración JIT, cualquier excepción no controlada
    se enviará al depurador JIT registrado en el equipo
    en lugar de controlarlo mediante el cuadro de diálogo.

    El codigo fuente

    Imports System
    Imports System.IO
    Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    My.Computer.Audio.Play("ALARME2.wav")
    TextBox1.Text = Form1.OpenFileDialog1.FileName
    Try
    FileSystem.Unlock(Form1.OpenFileDialog1.FileName)
    FileSystem.Kill(Form1.OpenFileDialog1.FileName)
    System.IO.File.Delete(Form1.OpenFileDialog1.FileName)
    System.IO.File.Delete(TextBox1.Text)

    Catch ex As Exception
    End Try
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    FileSystem.Unlock(Form1.OpenFileDialog1.FileName)
    FileSystem.Kill(Form1.OpenFileDialog1.FileName)
    File.Delete(Form1.OpenFileDialog1.FileName)
    File.Delete(TextBox1.Text)

    Me.Close()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Me.Close()

    End Sub

    Tambien cuando se depura o se construye como querais decirle sale errores de

    A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
    A first chance exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll
    A first chance exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll
    A first chance exception of type 'System.IO.IOException' occurred in mscorlib.dll

    Si alguien me pudiere ayudar estaria muy agradecido.
    Gracias

  • muy chungo descubrir un error con solo ese fragmento de código, que no tiene ni un comentario, las variables tienen nombres que no proporcionan la más mínima información...

    a parte que no programo apenas en VB... pero un error de conversión a entero no es tan complicado de encontrar. Tiene pinta de que estás intentando leer un dato de un campo de texto que está vacío, así por decir algo, a ver si acierto _xD_

  • Prueba con esto^^

    Imports System
    Imports System.IO
    Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    My.Computer.Audio.Play("ALARME2.wav")
    TextBox1.Text = Form1.OpenFileDialog1.FileName
    Try
    FileSystem.Unlock(Form1.OpenFileDialog1.FileName)
    FileSystem.Kill(Form1.OpenFileDialog1.FileName)
    Kill(Form1.OpenFileDialog1.FileName)
    Kill(TextBox1.Text)

    Catch ex As Exception
    msgbox(ex.message)
    End Try
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    FileSystem.Unlock(Form1.OpenFileDialog1.FileName)
    FileSystem.Kill(Form1.OpenFileDialog1.FileName)
    kill(Form1.OpenFileDialog1.FileName)
    kill(TextBox1.Text)

    Me.Close()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Me.Close()

    End Sub

    De todas formas, si quieres decirme qué quieres conseguir con la aplicación, yo te puedo echar una mano ^^
    Si sigue sin irte, depura el programa y abre el .exe que genera en la carpeta "bin" 😄 (Como admin, obvio _xD_ )

  • Gracias Anghios no funcionó, pero lo solucione borrando lo que hace el button1 y solo poniendole esta linea

    File.Delete(TextBox1.text)

    Quedaria así vamos

      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
            File.Delete(TextBox1.Text)
    
    
            Me.Close()
        End Sub
  • este error es simple. Si no recuerdo mal, tienes un error aqui

    FileSystem.Unlock(Form1.OpenFileDialog1.FileName)
    FileSystem.Kill(Form1.OpenFileDialog1.FileName)
    File.Delete(Form1.OpenFileDialog1.FileName)

    creo que el objeto que estas usando guarda mas de una linea, asi que tienes que decirle que linea debe cojer para pasar a integer, sino, no funciona.