-
خطا The process cannot access the file because it is being used by another process در دسترسی به فایل
باسلام
یه برنامه نوشتم که درست اجرا می شد،یه کپی از برنامه رو هم روی حافظه فلشم ریختم،ولی چند روزی که برنامه ای که رو ی سیستممه موقع اجرا این Error رو میده،در صورتی که برنامه ی روی حافظه فلشم هنوز درست اجرا میشه،
System.IO.IOException:The process cannot a access the file//...path Directory....\\ because it is being used by another process
اینم تابع مربوط به این Error:
private void SetPictures(PictureBox picture, Label lable,int index)
{
byte[] barrImg = (byte[])DT.Rows[index]["Picture"];
//
string strfn = Convert.ToString(DateTime.Now.ToFileTime());
FileStream fs = new FileStream(strfn, FileMode.CreateNew, FileAccess.Write);
fs.Write(barrImg, 0, barrImg.Length);
fs.Flush();
fs.Close();
//
picture.Image = Image.FromFile(strfn);
lable.Text = DT.Rows[index]["Name"].ToString();
}
دلیل این جور اشکالات که گه گاه در کدنویسی پیش میاد چیه و چطور میشه حلشون کرد که دیگه این اشکالات در برنامه تکرار نشه؟؟؟:متفکر:
-
نقل قول: System.IO.IOException:The process cannot a access the file//...path Directory....\\ because
شما برای اون قسمت picture.Image = Image.FromFile(strfn); از fromfile استفاده نکن از fromstream استفاده کن شبیه اون عملیات مافوقش.
-
سلام مشکل در کجاست؟The process cannot access the file
سلام
واقعا گیچ شدم خواهشا کمک کنید
من تو برنامه ام از دستور کپی استفاده کردم که یه عکس رو از یه مسیر دلخواه کاربرر به مسیر مقصد که یه مسیر ثابتیه کپی میکنم فقط نام فایلو از یه ماسکت تکس باکس میگیرم(که یه عدد 10 رقمی فقط میگیره) در زمان کپی اگه نام فایل با تکس باکس بگیرم مثل زیر
NewAddress = "F:\\Amg\\"+txtCode.Text+".jpg";
پیغام خطا میده
The process cannot access the file 'F:\Amg\1899999999.jpg' because it is being used by another process.
ولی اگه به صورت زیر بگیرم دقیقا همه به صورت استرینگ باشه مثل زیری
NewAddress = "F:\\Amg\\1899999999.jpg";
بهم پیغام خطا رو نمیده و فایلو کپی میشه (خیلی اذیتم کرده بخدا)
بهم بگیت چرا؟؟؟
-
نقل قول: System.IO.IOException:The process cannot a access the file//...path Directory....\\ because
با سلام
برنامه Debug میشه ولی با نمایش این پیام و با اشکال،(یعنی با اینکه روند منطقی برنامه درسته و قبلا هم بدون هیچ اشکالی اجرا می شده)ولی حالا قاطی می کنه و درست اجرا نمی شه،یه مسئله ی دیگه اینکه،DT،دیتاتیبل برنامه است و هر بار که تصویری از دیتاتیبل برای نمایش درpictureBox قرار داده میشه،همان فایل در پوشه ی bin/Debuge کپی می شه، و بعد از چندبار اجرا،پوشه یbin/Debuge حاوی چندین کپی از فایلهای آورده شده از دیتاتیبل میشه، چنین چیزی در برنامه نرماله یا غیر نرمال؟
-
مشکل در کپی و Rename
سلام به برنامه نویسان حرفه ای
یه فایل دارم که وقتی میخوام Move کنم در واقع یجور رینیم کردنه انجام بدم پیغام زیر رو میده البته فقط وقتی که اسم فایل رو از یه تکس باکس بگیرم اینطور میشه
The process cannot access the file
ولی اگه کلا اسمو به صورت یه رشته تو خود برنامه تعریف کنم پیغامی نمیده و کار به راحتی انجام می شه
//PicName=نام مسیر کامل عکسی که کاربر انتخاب میکنه
//ImgPath=یک مسیر ثابتی که همه عکسها به اونجا منتقل میشن
if (PicName != string.Empty)
{
string NewAddress;
string OldAddress=PicName;
nameImage = "Pic"+TxtCode.text+".jpg";
NewAddress = ImgPath + LblCode.Text;
File.Copy(OldAddress,NewAddress , true);
}
تو این تکه کد دقیقا تو قسمت File.Copy(OldAddress,NewAddress , true خیلی اذیت میکنه و پیغام
The process cannot access the file
میده البته فقط زمانی که از یه تکس باکس اطلاعاتو که یه عدد 10 رقمی میگیرم خطا رو میده ولی اگه همون عدد 10 رقمی تو خود برنامه تعریف کنم به راحتی کپی میشه
-
نقل قول: مشکل در کپی و Rename
بین ImgPath , lblCode.text از '\\' استفاده کن
-
نقل قول: مشکل در کپی و Rename
متاسفانه مشکل این نیست
مسیری که بهش دادم درسته
ImgPath=@"F:\C#\1390\Amozeshgah\Amozeshgah\P ics\";
راستی یچیز دیگه زمانی این پیغام خطا رو میده که یه فایل دیگه ای با همین اسم وجود داشته باشه
The process cannot access the file 'F:\C#\1390\Amozeshgah\Amozeshgah\Pics\Pic18 99999999.jpg' because it is being used by another process.
-
نقل قول: مشکل در کپی و Rename
دوست عزیز شما که نام فایل رو در متغیر nameImage میریزید پس چرا بعد به NewAddress متن LblCode رو اضافه میکنید؟
این قسمت از کدتون رو میگم :
nameImage = "Pic"+TxtCode.text+".jpg";
NewAddress = ImgPath + LblCode.Text;
-
نقل قول: مشکل در کپی و Rename
ببخشید یه چیز اضافه بود آخه خود lblCodeهم همون مقدار تکس کدو داشت اصلاح شد ولی بازم پیغام خطا The process cannot access the file
میده وای چکار کنم اینم امتحان کردم باز نمیشه؟؟؟؟
//Copy Image To Pics Folde
if (PicName != string.Empty)
{
string NewAddress= ImgPath+"Pic" +txtCode.Text + ".jpg";
string OldAddress=PicName;
if (NewAddress!=OldAddress)
{
File.Copy(OldAddress,NewAddress , true);
}
}
-
نقل قول: مشکل در کپی و Rename
عجیبه!
قبل از اینکه copy کنید چک کنید ببینید آدرس هایی که بهش پاس میدین درسته،مثلا بذارین یه MessageBox نمایش بده.
اگه درست بود اگه امکانش هست برنامتون رو بذارین اینجا تا اگه بتونم درستش کنم.
-
نقل قول: مشکل در کپی و Rename
کل برنامه همینه منتها مسیر Picnameاز کاربر میگیره با OpenFileDialog
و به مسیر ImgPath=@"F:\C#\1390\Amozeshgah\Amozeshgah\Pics\";
منتقل میکنه یا Replaceولی نمی دوم چرا اگه عکسی قبلا با اسم جدید وجود داشته باشه پیغام خطا عدم دسترسی به فایل میده حتی نمیتونم حذف کنم البته با دستورات سی شارپ
احتمال داره اجازه دسترسی به فولدر تغییر کنه؟
درکل یه روش راحت برای کپی عکس کاربران به مسیر مشخص بهم معرفی کنید خواهشن
-
1 ضمیمه
نقل قول: مشکل در کپی و Rename
سلام
همونی که گفتین ساختم و لی خطایی نداد !!!!!!!!!!!!؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ضمیمه
-
نقل قول: مشکل در کپی و Rename
قبل از مسیر @ بذار
نقل قول:
nameImage = "Pic"+TxtCode.text+".jpg";
NewAddress =@ (ImgPath + LblCode.Text);
-
نقل قول: مشکل در کپی و Rename
نقل قول:
نوشته شده توسط
quantomquery
سلام
همونی که گفتین ساختم و لی خطایی نداد !!!!!!!!!!!!؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ضمیمه
مرسی عزیز اینکه وقت گذاشتی راستش واسه منم مشکلی ایجاد نمیکنه برنامه که دادی ولی دقیقا همین کد تو برنامه که گذاشتم بهم گیر میده عدم دستترسی به فایل به هر حال مرسی
-
نقل قول: مشکل در کپی و Rename
مهندس جان کمک کن!!!
آقا منتاحدودی مشکل کدموپیدا کردم
من توی برنامه ام یه دیتاگریدویوو PixtuersBoxدارم که توی هر ردیف مقداری مشخصات و فقط یه نام فایل نه مسیر کامل که هر وقت روی ردیف خاص کلیک کنم ستونی که اسم فایلو نگه داشته با یه مسیر مشخص که قبلا بهش داده بودم جمع بشه و عکسو تو پیکچرباکس نشون بده تا اینجا هیچ مشکلی ندارم و برنامه به خوبی اجرا میشه منتها تویه برنامه ام یه باتن ویرایش گذاشتم که عکس کاربر و آپدیت کنه (مثلا بتونه عکس جدیدی واسه خودش انتخاب کنه و جای عکس اصلی تو مسیر که قبلا بهش داده بودم قرار بگیره) ولی بهم پیغام میده که عکس قبلی هنوز در حال استفاده میباشه و نمی شه Replaceکنیش از خود ویندوز فهمیدم که پیغام که داده مربوط به برنامه خودمه که درحال اجراست پیغامش دقیقا همینه
Cant Complate The Moving Becuase The File Is Open in vshodt.exe
خواهشا راهنمایی کنید که چطور عکس رو از برنامه آزاد کنم که بهش کاری نداشته باشه
-
خطای The process cannot access the file because it is being used by another process در تغییر فایل
سلام ، هنگام حذف عکس با ارور The process cannot access the file 'C:\Users\REZA\Desktop\s\rajaee\rajaee\bin\Debug\I mage\Ferestade\1.jpg' because it is being used by another process.
مواجع میشوم یک راه حل پیشنهاد بدید لطفا.
-
نقل قول: مشکل another process در حذف فایل عکس!
دوست عزیز این ارور به دلیل درگیر بودن عکس در یه برنامه بوجود میاد. شما باید ببینید که چه process داره از عکس استفاده میکنه ، یا پروسس رو ببندید یا عکس رو از برنامه خارج کنید. من احتمال میدم که برنامه ی خودتون داره از عکس استفاده میکنه...
-
نقل قول: مشکل another process در حذف فایل عکس!
همینه طوره برنامه خودم داره از عکس استفاده میکنه ، یک پیکچر باکس دارم که این عکسو لود میکنه ولی موقع حذف فایل مقدار image اونو null میکنم ولی بازم ایراد داره آیا کدی هست که بشه پراسس رو بست؟
-
نقل قول: مشکل another process در حذف فایل عکس!
من تست کردم متوجه شدم که ویژوال استدیو داره از عکس استفاده میکنه نه برنامه شما... شما اگه برنامه تون رو مستقیم اجرا کنید دچار مسکل نمیشید...
-
نقل قول: مشکل another process در حذف فایل عکس!
دو راه
1- از خاصیت image location استفاده کن برا نشون دادن عکست تو pictureBox
2 - عکسو ببری تو حافظه و بدی به pictureBox - با استفاده از memoryStream
موفق باشی
-
1 ضمیمه
خطای The process cannot access the file because it is being used by another process در تغییر فایل
با سلام به همه!
من داشتم برنامه ی دفترچه تلفن رو می نوشتم
توی این برنامه یک بخش register درست کردم که برای فعال سازی برنامه بود که وقتی کاربر داخل فرم اصلی برنامه بر روی دکمه install کلیک می کرد علاوه بر فایل های اصلی برنامه یک فایل به نام Register.dat در درایو c و در فولدر PhoneBook درست می کرد. در خط بعد برنامه داخل این فایل متن "Not Register" را قرار می داد و ...
در هنگام اجرای برنامه هنگامی که روی دکمه install کلیک می کردم یک error زمان اجرا رخ می داد:
The process cannot access the file 'C:\PhoneBook\Register.dat' because it is being used by another process.
این هم کد دکمه install :
-
خطای The process cannot access the file because it is being used by another process در حذف عکس
سلام
من میخواستم عکسی رو که سی شارپ باز کردم و روی عکس تغییرات دادم رو روی خودش ذخیره کنم
با save as مشکلی ندارم با save روی خودش مشکل دارم میشه راهنمایی کنید.
-
نقل قول: ذخیره تصویر
خب شما میتونید وقتی کاربر عکس مورد نظر رو از پنجره Open File Dialog انتخاب کرد شما همون لحظه آدرس عکس رو بریزی توی یه دونه string و وقتی save رو زد شما تو کدنویسی کاری کنی که برنامه بره تو اون آدرس عکس موردنظر رو حذف کنه و این عکس رو اونجا save کنه. این دقیقا همون چیزیه که تمام برنامه های دیگه انجام میدن موقع save کردن
با کد زیر میتونی آدرس عکس رو پیدا کنی
string s = OpenFileDialog1.FileName;
موفق باشی
-
نقل قول: ذخیره تصویر
نقل قول:
نوشته شده توسط
erfan_urchin
خب شما میتونید وقتی کاربر عکس مورد نظر رو از پنجره Open File Dialog انتخاب کرد شما همون لحظه آدرس عکس رو بریزی توی یه دونه string و وقتی save رو زد شما تو کدنویسی کاری کنی که برنامه بره تو اون آدرس عکس موردنظر رو حذف کنه و این عکس رو اونجا save کنه. این دقیقا همون چیزیه که تمام برنامه های دیگه انجام میدن موقع save کردن
با کد زیر میتونی آدرس عکس رو پیدا کنی
string s = OpenFileDialog1.FileName;
موفق باشی
سلام مرسی عرفان جان این کارو قبلا کردم و نیازی هم به تعریف متغیر نیست چون یه بار عکس باز میشه و openfile dialog.filename هم تغیرر نمیکنه ولی جواب نداد.
string s = OpenFileDialog1.FileName;
img.save(s);// or img.save(openfiledialog.filename)
کلا به آرگومان داخلی save خطا میده میگه این ادرس مشکل داره چون ادرس داخلش با تک اسلش ذخیره شده و save باید با دابل اسلش باشه.
please help me
-
نقل قول: ذخیره تصویر
نقل قول:
کلا به آرگومان داخلی save خطا میده میگه این ادرس مشکل داره چون ادرس داخلش با تک اسلش ذخیره شده و save باید با دابل اسلش باشه.
اينو كي ميگه؟
C# ميگه يا شما؟
-
نقل قول: ذخیره تصویر
سی شارپ میگه نه منخطا میده.اگه نمیداد که مشکلی نداشتم.
-
نقل قول: ذخیره تصویر
نه اصلا ربطی به تک اسلش بودن نداره
فکر میکنم مشکل اینه که شما از SaveFileDialog استفاده نمیکنید!!! شما بجاش دارین از همون OpenFileDialog استفاده میکنید
شما اول برای ذخیره یه دونه SaveFileDialog باز کن بعد این کد رو هم بنویس ببین اینم خطا میده؟؟؟
img.Save(saveFileDialog1.FileName, ImageFormat.Jpeg);
اگه اینم خطا داد لطفا متن خطا رو بزار تا ببینیم چی میگه
موفق باشی
-
نقل قول: ذخیره تصویر
ممنون عرفان جان.من تو پست اول نوشتک که با save as که با savefiledialog هست مشکلی ندارم من میخام save کنم یعنی یه تصویر بعد اعمال تغییرات save که بزنی بدون اینکه پنجره ای باز بشه مستقیم رو خود عکس اصلی مجددا ذخیر بشه.
-
نقل قول: ذخیره تصویر
شما بیا اینو بنویس تو کدات باور کن درست میشه :لبخند: (البته اگه جای دیگه اشکال نداشته باشه :لبخند: )
using System.IO
FileInfo f = new FileInfo(openFileDialog1.FileName);
f.Delete();
img.Save(OpenFileDialog1.FileName, ImageFormat.Jpeg);
حالا من نمیدونم شما img رو چجوری گرفتین. منظورم اینه که img شی ساخته شده از چیزیه؟؟؟
شما اون کدایی که دادمو بنویس ایشالا که درست شه اگه نشد حتما متن خطا رو اینجا بنویس شاید مشکل از چیز دیگه باشه
-
نقل قول: ذخیره تصویر
سلام روی خود delete خطا میده.
The process cannot access the file 'C:\Users\royall\Desktop\111.png' because it is being used by another process.
-
نقل قول: ذخیره تصویر
نقل قول:
نوشته شده توسط
royall
سلام روی خود delete خطا میده.
The process cannot access the file 'C:\Users\royall\Desktop\111.png' because it is being used by another process.
منم این مشکل رو دارم ، وقتی با این SaveDialog کار می کنم !
-
نقل قول: ذخیره تصویر
کسی نیست سوال مارو حل کنه؟
-
نقل قول: ذخیره تصویر
این خطا برای این هست که تصویری که میخواهید حذف کنید ..توسط برنامه دیگه ..استفاده میشه
-
نقل قول: ذخیره تصویر
سلام
ميتوني اول فايل رو با يك نام ديگه ذخيره كني بعد از اين كه فايل قبل رو بستي فايل رو حذف كني و فايل كه ذخيره كردي تغيير نام بدي اين يه راهه
-
نقل قول: ذخیره تصویر
-
خطای The process cannot access the file because it is being used by another process در حذف عکس
سلام
من عکس ها رو در یک پوشه ذخیره میکنم و ادرس اونها در دیتابیس
هنگام لود فرم مسیرها در گرید نمایش میدم و روی هر عکس کلیلک کنن همون عکس در piturebox مشاهده می کنند
حالا می خوام همون عکس پاک کنم
File.Delete( dataGridView1 .CurrentRow .Cells ["name_ax"].Value .ToString () );
اما خطا میده که این عکس داره در جایی استفاده میشه
حتی
pic_scaned.Image = null;
pic_scaned.Refresh();
گذاشتم اما باز هم خطا میده
باید چیکار کنم
-
نقل قول: حذف عکس از مسیر دلخواه
سلام دوست عزیز
اگر مقدار دهی Image=null کار نمی کنه می تونی مقدار picturebox.initialimage = null قرار بدی
به احتمال زیاد از این متد برای بارگذاری استفاده شده و بهمین علت picturebox.image=null کار نمی کنه
موفق باشید
-
نقل قول: حذف عکس از مسیر دلخواه
باز هم خطا میده
The process cannot access the file '...' because it is being used by another process.
-
نقل قول: حذف عکس از مسیر دلخواه
-
نقل قول: حذف عکس از مسیر دلخواه
در لود یک select نوشتم و گرید با اون پر کردم
مشکل در اینجا هست
که اگر این خط من غیر فعال کنم حذف به درستی انجام میشه
private void dataGridView1_MouseUp(object sender, MouseEventArgs e)
{
try
{
pic_scaned.Image = Image.FromFile(dataGridView1 .CurrentRow .Cells ["name_ax"].Value .ToString ());
}
catch { }
}
اما اگر این کدها بردارم دیگه با جابه جایی روی سطر گرید نمیتونیم عکس ها را در picturebox ببینیم
-
نقل قول: حذف عکس از مسیر دلخواه
ببینین ImageLocation رو هم برابر با null کنین نمیشه
-
خطای The process cannot access the file because it is being used by another process در حذف عکس
سلام دوستان
توی پروژه ای که نوشتم برای ثبت شخص عکسی را با استفاده از open file dialog از کاربر گرفتم و توی یک پوشه مشخص یک کپی از عکس بعنوان بکاپ با اسم منحصر بفرد مربوط به خود شخص (مثلا کد ملی) ایجاد کردم و اسم را به همراه پسوندش توی DB ثبت کردم..یعنی اینجوری شد که بجای ذخیره عکس در دیتابیس فقط نام +پسوندش توی دیتابیس ذخیره میشه (مثلا 1234569874.JPG )
از نظر نمایش عکس و غیره کاملا صحیح کار میکنه.
اما مشکل اینجاست که توی فرم ویرایش اگر عکس جدیدی را برای فردی که قبلا ثبت شده انتخاب کنی به دلیل اینکه اسم عکس جدید ایجاد شده با عکسی که قبلا در همون پوشه ذخیره شده همنام هستند.اجازه کار نمیده و میگه فایل درحال استفاده است.
توی کپی overwrite را true کردم باز همین اخطار رو میده.قبلش بهش گفتم اول delete کن بعد عکس را جایگذین کن.باز هم همون اخطار رو میده و نمیتونه فایل قبلی رو حذف کنه.
قبلش pictureBox رو خالی کردم image اون رو null کردم.اما همه اش میگه درحال استفاده است و نمیشه
واسه دکمه حذف عکس این کد رو نوشتم:
//pak kardane ax va namayeshe axe defult.
PicBoxMoshtari.Image = null;
Bitmap Ax = new Bitmap(Application.StartupPath + "\\data\\picMoshtari\\000.jpg");
PicBoxMoshtari.Image = Ax;
File.Delete(Application.StartupPath+"\\data\\PicMo shtari\\"+Convert.ToString(dataGridView1.SelectedR ows[0].Cells[6].Value));
FMessegeBox.FarsiMessegeBox.Show("حذف عکس با موفقیت انجام شد", "حذف عکس مشتری");
ممنون میشم دوستان راهنمایی کنید؟
The process cannot access the file 'اسم فایل انتخاب شده' because it is being used by another process.
-
خطای The process cannot access the file because it is being used by another process
با سلام
در حال نوشتن یه برنامه اعضای کتابخانه برای درس پروژم هستم که توی برنامه باید تصویر شخص به صورت شماره عضویت ذخیره بشه 1.jpg حالا مشکل اینجاست وقطی میخوای تصویر رو عوض کنی و عکس جدید رو بزاری و با همون شماره ذخیره کنی میگه تصویر در حال استفاده شدنه
The process cannot access the file because it is being used by another process
از کد های زیر هم استفاده کردم بازم نشد لطفا راهنمایی کنید
pictureBox1.Dispose();
pictureBox1.Image.Dispose();
pictureBox1.Image = null;
//--------------------------------------------------------------------//
Stream k = File.OpenRead(@"D:\\101.jpg");
Image image2 = Image.FromStream (k);
pictureBox1.Image = image2;
pictureBox1.Dispose();
image2.Dispose();
File.Delete(@"D:\\101.jpg");
//------------------------------------------------------------////
-
نقل قول: مشکل PictureBox
با سلام
ابتدا برای تاپیک خود عنوان مناسب انتخاب کنید تا هم دوستان متوجه بشند و شما سریعتر به جواب برسید و هم اگه بعدها برا کسی همین سوال پیش اومد با سرچ بتونه استفاده کنه
حالا در خصوص مشکل برنامه شما باید بگم آیا برنامه رو به دیتابیس وصل کردید؟
مطمئنن اطلاعات باید ذخیره بشن و سعی کنید به جای عکس، مسیر عکس رو تو بانک قرار بدید و عکس رو هم در کنار برنامه بگذارید
سوال دیگه داشتید در خدمتم
موفق باشید
-
نقل قول: مشکل PictureBox
به طور کلی بایست کاری کنید که فایل به صورت مداوم درگیر نشود. برای این هدف باید عکس را در حافظه اصلی لود کنید. چند راه به نظرم میرسه
یک اینکه: یک bitmap از عکس بسازید و در پیکچرباکس نمایش بدید.
دوم اینکه: یک استریم از عکس بسازید و از این استریم تصویر را نمایش داده و در انتها استریم را از بین ببرید.