none
Erro ao Excluir Arquivo de Foto

    Question

  • Boa tarde, pessoal!

    O meu problema é o seguinte: Ao tentar excluir um arquivo de uma determinada pasta, aparece uma messagem de erro alertando que a operação não pode ser realizada porque o arquivo está sendo usado por um outro processo.

    Estou tentando deletar um arquivo de imagem do picturebox que não será mais usada:

    FotoPctBox.Image = Nothing

    System.IO.File.Delete(CaminhoDaFoto)

    Que processo é esse que não me deixa deletar esse arquivo?

    Alguem poderia me ajudar?

    Obrigado!!!!!

    Wednesday, December 01, 2010 2:36 PM

Answers

  • Vanderllei,

    Este problema está relacionado a forma como você carrega a imagem, para carregar sem mander o arquivo bloqueado, você deve usar um StreamReader para abrir o arquivo somente para leitura, tipo:

        Dim img As Image
        Dim stream As IO.FileStream = New IO.FileStream(CaminhoDaFoto, IO.FileMode.Open, IO.FileAccess.Read)
        img = Image.FromStream(stream)
    
    

    at.,


    Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono)
    • Marked as answer by Vanderllei Wednesday, December 01, 2010 3:22 PM
    • Unmarked as answer by Vanderllei Wednesday, December 01, 2010 3:22 PM
    • Marked as answer by Vanderllei Wednesday, December 01, 2010 3:26 PM
    Wednesday, December 01, 2010 3:03 PM
  • Obrigado, Rogério!

    Realmente, vc estava certo, o problema era a maneira como eu estava carregando a imagem:

     FotoPctBox.Image = System.Drawing.Bitmap.FromFile(CaminhoDaFoto)

    Troquei para:

    FotoPctBox.ImagemLocation = CaminhoDaFoto

    Agora deu certo!

    Valeu pela força!!!

    • Marked as answer by Vanderllei Wednesday, December 01, 2010 3:27 PM
    Wednesday, December 01, 2010 3:26 PM

All replies

  • Vanderllei,

    Este problema está relacionado a forma como você carrega a imagem, para carregar sem mander o arquivo bloqueado, você deve usar um StreamReader para abrir o arquivo somente para leitura, tipo:

        Dim img As Image
        Dim stream As IO.FileStream = New IO.FileStream(CaminhoDaFoto, IO.FileMode.Open, IO.FileAccess.Read)
        img = Image.FromStream(stream)
    
    

    at.,


    Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono)
    • Marked as answer by Vanderllei Wednesday, December 01, 2010 3:22 PM
    • Unmarked as answer by Vanderllei Wednesday, December 01, 2010 3:22 PM
    • Marked as answer by Vanderllei Wednesday, December 01, 2010 3:26 PM
    Wednesday, December 01, 2010 3:03 PM
  • Obrigado, Rogério!

    Realmente, vc estava certo, o problema era a maneira como eu estava carregando a imagem:

     FotoPctBox.Image = System.Drawing.Bitmap.FromFile(CaminhoDaFoto)

    Troquei para:

    FotoPctBox.ImagemLocation = CaminhoDaFoto

    Agora deu certo!

    Valeu pela força!!!

    • Marked as answer by Vanderllei Wednesday, December 01, 2010 3:27 PM
    Wednesday, December 01, 2010 3:26 PM