PDA

View Full Version : سوال: مشکل استفاده دوباره از کد



water_lily_2012
دوشنبه 28 شهریور 1390, 10:59 صبح
سلام
من از کد زیر استفاده می کنم. ولی هنگام استفاده مجدد خطای "کاربری از عکس استفاده می کند" می دهد.

String appStartPath = System.IO.Path.GetDirectoryName(Process.GetCurrent Process().MainModule.FileName);
if (memberlist[0].Picture != null)
{
// Save file
FileInfo fi = new FileInfo(appStartPath +"\\pic.jpg");
if (!fi.Exists)
{
//Create the file.
using (FileStream fs = fi.Create())
{
fs.Write(memberlist[0].Picture, 0, memberlist[0].Picture.Length);
}
}
else
{
//Create the file.
using (FileStream fs = fi.OpenWrite())
{
fs.Write(memberlist[0].Picture, 0, memberlist[0].Picture.Length);
}
}
}
pictureBox1.Source = new BitmapImage(new Uri(appStartPath + "\\pic.jpg"));

water_lily_2012
دوشنبه 28 شهریور 1390, 15:30 عصر
کسی راهی نداره.
مشکل اینجاست که فایل با برنامه ارتباط داره. نه میشه پاکش کرد. نه openWrite
راهی می خواهم که بشه فایل را حداقل پاکش کرد.
اگر قبل از مقدار دهی و در ابتدای کد بتونم پاکش کنم بعد دوباره ایجادش می کنم.

Mehdi_mh
دوشنبه 28 شهریور 1390, 15:46 عصر
من به این مشکل قبلا بر خورده بودم. با فایل های PDF.

یک سری برنامه هست که فایل رو برات آنلاک میکنه که Delete کنیش. این یک نمونه است:
http://www.softpedia.com/get/System/System-Miscellaneous/Unlocker.shtml

gwbasic
دوشنبه 28 شهریور 1390, 19:23 عصر
اگه اشتباه نکنم شما می خواین memberlist[0].Picture رو در PuctureBox نمایش بدین و احتمالا تایپ اون []byte هست.
اگه اینطور باشه روشتون ااشتباه هست به این شکل عمل کنید:


if (memberlist[0].Picture != null)
{
MemoryStream ms = new MemoryStream(memberlist[0].Picture);
Image pic =Image.FromStream(ms);
ms.Close();
pictureBox1.Source = pic;

water_lily_2012
سه شنبه 29 شهریور 1390, 08:33 صبح
سلام
مشکل اینکه اولا Image را نمیشناسه. خوب System.Drawing را قبلش به کار بردم و درست شد.
ولی مشکل اینکه حالا نمی تونه نوع System.Drawing.Image را به System.Window.Media.ImageSource تبدیل کنه.
توجه کنید که فرم من WPF هست.

gwbasic
سه شنبه 29 شهریور 1390, 11:30 صبح
اگه سوالتون در مورد WPF هست چرا تو بخش خودش مطرح نکردین!!!
سوالتونم که کامل مطرح نمی کنید. توی WPF چرا از PictureBox استفاده کردین!!! آیا این کنترل رو host کردین؟ می بینید خیلی سوالتون ناقصه همه چی رو با حدس و گمان نمی شه جواب داد

water_lily_2012
سه شنبه 29 شهریور 1390, 11:46 صبح
pictureBox اسم Image من هست.
بعد من در کد نویسی C# مشکل دارم.