PDA

View Full Version : مشکل در استفاده از متد Network.DownloadFile



MohsenPS
شنبه 20 مهر 1387, 15:12 عصر
با سلام ،
در حین استفاده از Network.DownloadFile وقتی ارتباطم با شبکه قطع میشه ، این متد به کار خودش ادامه میده ، چکار باید کرد ؟ :متفکر:

rooshan2008
یک شنبه 21 مهر 1387, 00:55 صبح
سلام
شما باید هر چند ثانیه چک کنی که ارتباط برقرار است یا خیر با این دستور می تونی

My.Computer.Network.IsAvailable
اگ ارتباط وصل باشه مقدار true و در غیر این صورت false رو برگشت می ده

MohsenPS
یک شنبه 21 مهر 1387, 03:32 صبح
:متعجب:
دوست عزیز ، با تشکر
من از قطع شدن ارتباط با خبر میشم ، موضوع اینه که DownloadFile با خبر نمیشه ، در واقع دست از سر فایلی که داشته دانلود میکرده بر نمیداره .

rooshan2008
یک شنبه 21 مهر 1387, 14:40 عصر
سلام
فکر کنم از این راه می شه من که امتحان کردم شد.



Dim RoshanThread As Threading.Thread

Dim Check As Threading.Thread


PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
RoshanThread = New Threading.Thread(AddressOf Download)
RoshanThread.Start()

Check = New Threading.Thread(AddressOf T1)
Check.Start()

EndSub


کد پایین هم یه تابع هست که به یک theardجدید وصل شده (کد بالا)




PrivateSub Download()
IfNot FileIO.FileSystem.FileExists("c:\Roshan.exe") Then
Try
My.Computer.Network.DownloadFile("\\host-r\utility\Driver\DRIVER.rar", "c:\Roshan.exe")
Catch ex As Exception
MsgBox(ex.Message)
EndTry
Else
("فایل در مسیر مورد نظر موجود نمی باشد ")msgbox
EndIf
EndSub


PrivateSub T1()
While (1)
If Not My.Computer.Network.IsAvailable Then
("ارتباط قطع شد")msgbox
RoshanThread.Suspend()
Check.Suspend()
EndIf
EndWhile
EndSub



PrivateSub Form1_FormClosing(ByVal sender AsObject, ByVal e As System.Windows.Forms.FormClosingEventArgs) HandlesMe.FormClosing
OnErrorResumeNext
RoshanThread.Abort()
EndSub

MohsenPS
یک شنبه 21 مهر 1387, 17:12 عصر
rooshan جان،
این کدی که شما نوشتید اگه وسط دانلود کردن ، ارتباط قطع بشه چکار میکنه؟ من که تستش کردم هیچ خطایی تولید نشد . (با تشکر)

rooshan2008
یک شنبه 21 مهر 1387, 18:00 عصر
بازم سلام
کد بالا رو دوباره ویرایش کردم زحمت بکش دوباره اجرا بگیر

MohsenPS
یک شنبه 21 مهر 1387, 23:28 عصر
rooshan جون،
راستش مطمئن نیستم روشی که گفتی بهترین ایده باشه ، اما انصافا کار من رو راه انداخت .
( دستت درد نکنه )