none
Me sale una excepción no controlada al cargar una imagen en un picture box RRS feed

  • Pregunta

  • Buenos días,

    Tengo el siguiente problema, tengo un formulario con dos picturebox en los que al dar click encima de ellos me carga la imagen, hasta ahí bien. El problema me pasa cuando vuelvo a cargar otra imagen por segunda vez en uno de los picturebox en el que me indica el siguiente error:

    System.AccessViolationException
      HResult=0x80004003
      Mensaje = Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada.
      Origen = <No se puede evaluar el origen de la excepción>
      Seguimiento de la pila:
    <No se puede evaluar el seguimiento de la pila de excepciones>

    He intentado solucionarlo con un try-catch pero ni con esas. Siempre el error me lo marca en OpenFileDialog1.ShowDialog()

    Estoy mirando en sitios y foros y no hay manera de que no me vuelva a salir eso, rogaría me pudieran ayudar, el lenguaje es visual.net.

    Gracias de antemano

    domingo, 23 de septiembre de 2018 8:30

Respuestas

  • Buenos días

    No he conseguido reproducir tu error, te dejo el código que he utilizado para la prueba y que a mi me funciona correctamente.

    Public Class Form1
        Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
            Dim OpenFileDialog1 As New OpenFileDialog
            With OpenFileDialog1
                .Filter = "Image files|*.jpg"
                If .ShowDialog = DialogResult.OK Then
                    Dim bmp As Bitmap = CType(Bitmap.FromFile(.FileName), Bitmap)
                    Me.PictureBox1.Image = bmp
                End If
            End With
        End Sub
    
        Private Sub PictureBox2_Click(sender As Object, e As EventArgs) Handles PictureBox2.Click
            Dim OpenFileDialog1 As New OpenFileDialog
            With OpenFileDialog1
                .Filter = "Image files|*.jpg"
                If .ShowDialog = DialogResult.OK Then
                    Dim bmp As Bitmap = CType(Bitmap.FromFile(.FileName), Bitmap)
                    Me.PictureBox2.Image = bmp
                End If
            End With
        End Sub
    End Class

    Saludos

    • Propuesto como respuesta Pablo Rubio lunes, 24 de septiembre de 2018 15:16
    • Marcado como respuesta Pablo Rubio viernes, 28 de septiembre de 2018 21:11
    domingo, 23 de septiembre de 2018 10:09

Todas las respuestas

  • Buenos días

    No he conseguido reproducir tu error, te dejo el código que he utilizado para la prueba y que a mi me funciona correctamente.

    Public Class Form1
        Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
            Dim OpenFileDialog1 As New OpenFileDialog
            With OpenFileDialog1
                .Filter = "Image files|*.jpg"
                If .ShowDialog = DialogResult.OK Then
                    Dim bmp As Bitmap = CType(Bitmap.FromFile(.FileName), Bitmap)
                    Me.PictureBox1.Image = bmp
                End If
            End With
        End Sub
    
        Private Sub PictureBox2_Click(sender As Object, e As EventArgs) Handles PictureBox2.Click
            Dim OpenFileDialog1 As New OpenFileDialog
            With OpenFileDialog1
                .Filter = "Image files|*.jpg"
                If .ShowDialog = DialogResult.OK Then
                    Dim bmp As Bitmap = CType(Bitmap.FromFile(.FileName), Bitmap)
                    Me.PictureBox2.Image = bmp
                End If
            End With
        End Sub
    End Class

    Saludos

    • Propuesto como respuesta Pablo Rubio lunes, 24 de septiembre de 2018 15:16
    • Marcado como respuesta Pablo Rubio viernes, 28 de septiembre de 2018 21:11
    domingo, 23 de septiembre de 2018 10:09
  • Hola gracias por tu respuesta, es de gran ayuda, pero el problema me surge cuando doy de alta una picturebox, valido y luego quiero cargar otra, es cuando me da el error.

    No se si el problema es de mi pc.

    domingo, 23 de septiembre de 2018 12:21
  • Buenas tardes podrías poner el código que utilizas?
    domingo, 23 de septiembre de 2018 15:14
  • Este es el codigo que uso:

    If ofd1.ShowDialog = DialogResult.OK Then
    pic1.Image = Image.FromFile(ofd1.FileName)
    End If

    He estado haciendo pruebas y resulta que me da el error cuando pongo en el load del form o en algun boton de cargaId
    • Editado Hacker1981 domingo, 23 de septiembre de 2018 18:05
    domingo, 23 de septiembre de 2018 17:42