digoLucas Posted December 23, 2015 at 05:36 PM Report #591013 Posted December 23, 2015 at 05:36 PM (edited) Pessoal por favor me ajudem... a tempos tenho pesquisado resolver esse problema mas até agora não achei uma solução Tenho uma aplicação que copia uma imagem de uma pasta para outra. Dim item4 As ListViewItem Dim CaminhoImagem As String Dim Soma As String 'Dim ddd As String = PastaImagemFinal For Each item4 In LV1.Items CaminhoImagem = item4.SubItems.Item(15).Text() Dim ValorCodigo As String = item4.SubItems.Item(0).Text() If Not item4.SubItems.Item(15).Text() = "0" Then Dim nomeArquivo As String = Path.GetFileNameWithoutExtension(CaminhoImagem) Dim extensao As String = Path.GetExtension(CaminhoImagem) Soma = nomeArquivo & extensao File.Copy(CaminhoImagem, PastaImagemFinal & Soma) item4.SubItems.Item(15).Text() = PastaImagemFinal & Soma End If Next até qui da tudo certo.. mas lá na frente quando preciso mover essa mesma imagem o programa dá erro : diz que imagem está sendo usada em outro processo... parece que meu sistema copiou a imagem e não encerrou os processos referentes a imagem.. For Each item4 In LV2.Items Dim ValorCodigo As String ValorCodigo = item4.SubItems.Item(0).Text() CaminhoImagem = item4.SubItems.Item(8).Text() If Not item4.SubItems.Item(8).Text() = "0" Then Dim nomeArquivo As String = Path.GetFileNameWithoutExtension(CaminhoImagem) Dim extensao As String = Path.GetExtension(CaminhoImagem) Soma = nomeArquivo & extensao File.Move(CaminhoImagem, SalaImpressão.txtPastaRecebimento.Text & Soma) ds.Reset() Dim SQL2 As String = "update Ve_Vendaitem set " _ & " Status = '" & "0" & "'," _ & " ArquivoImpressão = '" & SalaImpressão.txtPastaRecebimento.Text & Soma & "' " _ & " where Codigo = " & ValorCodigo Dim adptr3 As New OleDbDataAdapter(SQL2, conect_banco) adptr3.Fill(ds) End If Next tem como eu encerrar o processo referente a imagem após copia-la ? o que eu tentei pesquisar foi encerar os processos pelo diretorio do arquivo apos copiar, mas não achei nada que funciona-se... Edited December 23, 2015 at 06:40 PM by jpaulino adicionado tags de código
He B TeMy Posted December 23, 2015 at 06:02 PM Report #591015 Posted December 23, 2015 at 06:02 PM Mete o código em tags sff. Não estás a fazer mais nada com a imagem na tua aplicação? Porque file.copy sucede mesmo se a imagem estiver a ser utilizada, ao contrário de file.move , deves estar a utilizá-la em algum lado e não te estás a aperceber. Se tiveres a fazer alterações na imagem ou assim posta o resto do código, senão, não há nada nesse código que te 'bloqueie' a imagem, resumindo deves estar a usá-la externamente...
Muryllo Posted December 26, 2015 at 02:15 AM Report #591053 Posted December 26, 2015 at 02:15 AM (edited) Boas, Você usa alguma API do windows do tipo LockFile diretamente ? Alguma outra thread está usando a imagem ? O arquivo de imagem é criado antes de ser movido, se sim como ? Usando File.Create() ? Já verificou seus privilégios, fechou todas as operações de fluxo ? Edited December 26, 2015 at 02:15 AM by Muryllo
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now