PDA

View Full Version : سوال: سلام دوستان عزیز



abbaseftekhari
پنج شنبه 16 مهر 1388, 13:28 عصر
من در برنامه قسمتی دارم که Picturebox از بانک ادرس تصویر می خواند ونمایش میدهد حاالا اگر کاربر بخواهد عکس را عوض بکند عکس عکس جدید را انتخاب می کند و ادرس عکس جدیدupdate می شود مشکل من اینجا است هنگامی که عکس جدید در هارد ذخیره می شه عکس قدیم پاک نمی شود با اینکه من کد را درست نوشتم حالا کد را می گذارم شما دوستان عزیز نظر بدهید
کد پاک کردن تصویر قدیمی:


File.Delete(Environment.CurrentDirectory + "\\Pictures\\" + sn + ".jpg");

هنگام اجرا ای کد Exception رخ میدهید:
because it is being used by another process.
در حالی که من درهنگام تعویض عکس جدید با قدیم عکس قدیمی را از حالت سلکت خارج می کنم و هیج جور فراخوانی ندارد اما نمی دونم چرا Exception رخ می ده و اجرا نمی شه دوستان اگر کمک کنید و اشکال کار من را بگید خیلی کمک کردید.

abbaseftekhari
پنج شنبه 16 مهر 1388, 15:50 عصر
سلام
یعنی کسی نیست یه راهنمایی کنه ، دوستان خیلی عجله درام لطفا کمک کنید.

daniel_0247
پنج شنبه 16 مهر 1388, 16:13 عصر
سلام
حتما شما یک ارتباطی بین برنامه و فایل در قبل دادی . برای مثال خواندن از روی اون ؟؟

abbaseftekhari
پنج شنبه 16 مهر 1388, 16:23 عصر
خیلی ممنون که جواب دادید ،بله دادم اول فایل را نمایش می دم یعنی همون عکس در همون نمایش کاربر می تونه عکس عوض کنه ، خوب همون موقع تعویض عکس می خوام عکس قدیم را پاک کنم خطا مید ه لطفا راهنمایی کنید که باید چه کار کنم.

abbaseftekhari
پنج شنبه 16 مهر 1388, 17:06 عصر
دوستان لطفا یه کمکی کنید واقعا به جواب این سوال احتیاج دارم.

cimiarnm
پنج شنبه 16 مهر 1388, 17:39 عصر
دوست عزیز برنامه را در حالت زمان اجرا هم تست کنید ببینید همان خطا را میدهد یا نه؟ ( فایل اجرایی در پوشه bin را اجرا کنید )

shahram_akbari
پنج شنبه 16 مهر 1388, 17:59 عصر
عکست رو به صورت زیر که باز کنی ارتباط عکست با PictureBox تا بستن فرم از بین نمیره.


PictureBox1.Image = Image.FromFile(FilePath);


از این روش استفاده کن موقع باز کردن عکس به جای روش بالا:


Using System.IO;
\\--------------------------------
FileStream fStream = new FileStream(FilePath, FileMode.Open);
PictureBox1.Image = Image.FromStream(fStream);
fStream.Close();


دیگه موقع استفاده از همون دستور Delete, پیغام خطا بهت نمیده.

abbaseftekhari
پنج شنبه 16 مهر 1388, 18:11 عصر
دوست عزیز shahram_akbari (http://barnamenevis.org/forum/member.php?u=62544) از کمکت خیلی ممنون مشکلم حل شد .