Forum Pplware
Problema com Ficheiros em C# - Versão de Impressão

+- Forum Pplware (http://forum.pplware.com)
+-- Fórum: Mais Tech (/forumdisplay.php?fid=11)
+--- Fórum: Programação e Web (/forumdisplay.php?fid=16)
+--- Tópico: Problema com Ficheiros em C# (/showthread.php?tid=6720)



Problema com Ficheiros em C# - kombypetras - 28-07-2010 11:49

Boas Pessoal.
Estou a elaborar uma App WPF com C# para a gestão de sócios onde cada sócio tem um perfil e esse contém uma imagem identificativa.
A meu problema surge quando pretendo alterar os dados do perfil.
Para isso são mostrados todos os dados e a foto é mostrada num objecto do tipo Image do System.Window.Controls
Para mostrar a imagem construí o seguinte método
Código:
public BitmapImage LoadImage(String s)
{
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.UriSource = new Uri(s);
bitmap.EndInit();
return bitmap;
}

e para mostrar a imagem utilizo
image1.Source = LoadImage(Caminho); //caminho é o destino imagem

depois para alterar a imagem utilizo o seguinte processo
Código:
if (File.Exists(newfilepath))
{
File.Delete(newfilepath);
}
if (File.Exists(filepath))
{
File.Copy(filepath, newfilepath, true);
}

e é quando executa o File.Delete que dá o seguinte erro
'O processo não pode aceder ao ficheiro 'filepath' porque está a ser utilizado por outro processo.'
Pelo que tenho pesquisado poderá ser o ficheiro que não está livre, mas já estou farto de pesquisar e não consigo encontrar forma de o libertar para poder ser usado noutro processo.

Será que alguém me consegue ajudar com este problema???

Desde já agradeço a vossa atenção e disponibilidade

Cumps


RE: Problema com Ficheiros em C# - kombypetras - 28-07-2010 12:58

Tá resolvido.
Código:
BitmapImage bitmap = new BitmapImage();
            bitmap.BeginInit();
            bitmap.CacheOption = BitmapCacheOption.onload; //faltava esta linha de codigo
            bitmap.UriSource = new Uri(s);
            bitmap.EndInit();
            return bitmap;
Obrigado