PDA

View Full Version : اتمام پردازش روی فایل



alibirod
یک شنبه 04 خرداد 1393, 00:33 صبح
با سلام و خسته نباشید
دوستان من تازگی به یه مشکل بر خوردم
یه برنامه نوشتم و توی اون از یه دانلود که اونم خودم نوشتم استفاده می کنم فقط مشکلم اینه که وقتی وسط دانلود فایل انصراف بزنی پردازش فایل متوقف نمی شه و هنوز سیستم اونو مورد پردازش قرار میده دانلودر متوقف میشه و مشکلی نیست ولی چون من می خوام وقتی انصراف داد فایل حذف بشه مشکل در حال اجرا بودن پردازش روی فایل رو می ده
حالا دنبال راهی می گردم که وقتی توی حین دانلود انصراف زدی پردازش متوقف بشه و فایل هم حذف بشه
ممنون می شم راهنمایی کنید کد دانلودر هم اینه زبان برنامه نویسیمم که از محل تایپیکش معلومه vb.net

If Me.txtFileName.Text <> "" AndAlso Me.txtFileName.Text.StartsWith("http://") Then


Me.SaveFileDialog1.FileName = Me.txtFileName.Text.Split("/"c)(Me.txtFileName.Text.Split("/"c).Length - 1)

If Me.SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

Me.whereToSave = Me.SaveFileDialog1.FileName

Me.SaveFileDialog1.FileName = ""

Me.Label6.Text = "Save to: " & Me.whereToSave

Me.txtFileName.Enabled = False
Me.btnDownload.Enabled = False
Me.btnCancel1.Enabled = True

Me.BackgroundWorker1.RunWorkerAsync()

Me.Hide()
Form1.Hide()
Form1.Show()
Form1.PictureBox24.Visible = True
End If

Else
Me.Hide()
MessageBox.Show("ادرسی برای دانلود در دسترس نیست", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Warning)

End If
TextBox1.Text = Me.whereToSave


این بخشی از کدها هست چون زیاده هست نمی شه همش رو بزارم هر قسمتش نیاز هست بگید تا بزارم ممنون از شما
اینم اروری که موقع حذف کردن اون فایلی که در حین دانلود متوقف شده هست
file in use
the action cannot be completed because the file is in vshost32.exe close the file and try again

Mani_rf
یک شنبه 04 خرداد 1393, 09:45 صبح
تکه کدی که شما گذاشتی گویای کاری که شما دارید انجام می دهید نیست. برای حل مشکل ما باید بدانیم که با چه روشی فایل را روی هار ذخیره میکنید.
در هر صورت، احتمالا توی BackgroundWorker1 گفتید که یک فایل رو باز کنه و هر بایتی که دانلود کرد رو توی اون بنویسه. پس باید موقعی که انصراف داده میشه قبل از متوقف کردن پردازش ، فایل رو ببندید، ترجیحا متغیری که برای نگهداری فایل استفاده کردی رو هم Dispose کن که از بین بره . بعد از این کار اگر فایل رو حذف کنی مطمعنا مشکلی نخواهی داشت.

alibirod
یک شنبه 04 خرداد 1393, 16:30 عصر
ممنون از این که وقتتون رو برای پاسخگویی گزاشتید
من توی کلید خروج اون رو Dispose کردم و چون صفحه ی اصلی نیست همون فرم هم Dispose کردم ولی باز همین مشکل رو دارم
Me.BackgroundWorker1.Dispose()
Me.Dispose()
پروژه رو توی زمینه براتون ارسال کردم ببینید
بازم ممنون

alibirod
دوشنبه 05 خرداد 1393, 23:33 عصر
کسی نیست جواب ما رو بده
صاحب خونههههههه:ناراحت: