PDA

View Full Version : سوال: حذف کردن عکسی که برنامه در ابتدا ازش استفاده کرده



baran_mehr
سه شنبه 17 فروردین 1389, 18:52 عصر
سلام به همه دوستان گلم:قلب:
میخواستم بدونم چطور باید تصویری که توی برنامه باز کرده بودم رو ازاد سازی کنم؟
نمیدونم چطوری بگم امیدوارم متوجه بشید:گیج:
فرض کنید من وقتی برنامه رو اجرا میکنم یه تصویر درون Picturebox هست و من میخوام در مسیر همون عکس یه عکس جدید با همون نام و پسوند قرار بدم. برای اینکار من باید تصویر اول رو Delete کنم اما برنامه اجازه نمیده:گریه:

spring69
سه شنبه 17 فروردین 1389, 19:05 عصر
سلام دوست عزیز.
من همیشه برای این کار از این نرم افزار استفاده میکنم.
امیدوارم برات مفید باشه.

baran_mehr
سه شنبه 17 فروردین 1389, 20:08 عصر
سلام دوست گلم
نه منظورم نرم افزارای ساخته شده نیست.
من توی برنامه ای که خودم دارم مینویسم به این مشکل برخوردم میخوام بدونم چطور باید عکس و ازاد سازی کنم

spring69
سه شنبه 17 فروردین 1389, 20:55 عصر
ببخشید. اول منظورتون رو درست متوجه نشدم.
میتونی از کد زیر برای قراردادن عکس در picturebox استفاده کنی.




Dim img As Image
Dim fs As New FileStream("1.jpg", IO.FileMode.Open)
img = Image.FromStream(fs)
PictureBox1.Image = img
fs.Close()
اگر از این کد استفاده کنی بعد از بستن فایل میتونی اونو حذف کنی.
یه برنامه هم برات نوشتم که این کار رو انجام میده.
موفق باشی.

Netsky
سه شنبه 17 فروردین 1389, 21:42 عصر
سلام .
این کار معمولا با متد Dispose انجام میشه . کارش انه که حافظه ای رو که عکس در رم اشغال کرده آزاد میکنه و کار با اون رو خاتمه میده .
موفق باشید .............

baran_mehr
سه شنبه 17 فروردین 1389, 22:15 عصر
دلیل این خطا چیه؟

Netsky
سه شنبه 17 فروردین 1389, 22:28 عصر
سلام .
دوست عزیز این ارور میگه که پردازش مورد نظر شما ( حذف کردن فایل ) نمیتونه به این فایل ( همون عکسه ) دسترسی داشته باشه . چرا ؟؟؟ چونکه قبلا توسط یه برنامه ( ویژوال استدیو ) بکار گرفته شده و داره روش پردازش انجام میشه .
شما دوست عزیز ، متد Dispose رو امتحان کردی ؟؟؟

baran_mehr
سه شنبه 17 فروردین 1389, 23:30 عصر
اره Dispose رو هم استفاده کردم
picturebox.image=nothing رو هم امتحان کردن
کلافم کرده

spring69
چهارشنبه 18 فروردین 1389, 00:09 صبح
میگم پس اون برنامه که تو پست 4 برات گذاشتم بدردت نخورد؟

hero4000
چهارشنبه 18 فروردین 1389, 08:12 صبح
دوست عزيز آقاي باران لطفا کدهايي که دوستان ميدن رو هم تست کنيد

آقاي اسپرينگ درست ميگن کدي که توي پست 4 گذاشتند مشکل رو حل ميکنه

شايد شما منظورشون رو درست متوجه نشديد

شما بايد FileStream که فايلتون رو باز کرده بعد از خواندن فايل ببنديد تا فايلتون رو آزاد کنه

baran_mehr
چهارشنبه 18 فروردین 1389, 08:55 صبح
راه عزیز من اونم امتحان کردم.
من نمیدونم چرا داره به این قضیه گیر میده وقتی اون عکس تو picturebox تغییر کرده و همه جای برنامه هم من سعی کردم محض اطمینان دوباره ادرس تصویر رو عوض کنم اما بازم گیر میده.

spring69
چهارشنبه 18 فروردین 1389, 11:10 صبح
اگه میخوای مشکلت حل بشه برنامتو بزار اینجا که ما ببینیم چیکار میکنی.
فکر نکنم اینجوری مشکلت حل شه.