[VB.NET] La conversion "" en el tipo 'Integer' no es válida
-
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.dllKururu 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.exeMicrosoft.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.dllSystem
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.dllSystem.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.dllSystem.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.dllSystem.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.dllmscorlib.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.dllSystem.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.dllMicrosoft.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.dllSystem.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
habilitadaPor 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 Form2Private 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 SubPrivate 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 SubPrivate 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.dllSi 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 Form2Private 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 SubPrivate 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 SubPrivate 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.