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
e para mostrar a imagem utilizo
image1.Source = LoadImage(Caminho); //caminho é o destino imagem
depois para alterar a imagem utilizo o seguinte processo
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
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