kitcat_m18
پنج شنبه 12 آبان 1390, 11:32 صبح
سلام،
يه برنامه دارم که تو يکي از فرم ها يه حلقه به اين صورته:
Private Sub Start_Serach_Click()
Dim TMP_Adress As String
Dim TMP As String
StopBrowser = False
My_List.Show
TMP_Adress = Mid(Adress, 1, Len(Adress) - 1)
For i = My_List.Az To My_List.Ta
'IF USER STOP IT
If StopBrowser = True Then
WebBrowser1.Stop
Exit For
End If
TMP = TMP_Adress + STR(i)
WebBrowser1.Navigate (TMP)
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
My_List.HTML = WebBrowser1.Document.Body.innerHTML
My_List.Page_Number = "Now Page:" & i
Call TestRegExp("href=(.*?)target=(.*?)</a>", "", My_List.HTML)
Next i
End Sub
تو Unload فرم Main هم از اين دستور استفاده کردم:
If Peygham(MB, "aya mayel be khoro0j mibashid?", CriticalX, BaleKhair) = "Bale" Then
Call Peygham(MB, "movafagh bashid!", InformationX, Tayid)
Dim Frm As Form
For Each Frm In Forms
Unload Frm
Next
End If
و با اين دستور حلقه رو متوقف مي کنم:
Public Sub Stop_Click()
StopBrowser = True
End Sub
وقتي که مي خوام برنامه رو از حافظه خارج کنم بعضي وقتا که حلقه هنوز متوقف نشده کد بالا فرم ها رو ميبنده اما يه بار ديگه فرم باز ميشه.
اين به خاطر خارج نشدن از حلقه بالاست.
حالا سوالم اينکه
چجوري ميشه از يک حلقه يا پروسس در حال اجرا (براي مثال Inet در هنگام دريافت اطلاعات) خارج شد و بعد برنامه رو از حافظه خارج کرد؟؟؟
مي تونم چک کنم که حلقه تموم شده يا نه اما اينکار عمل خروج رو به تعويق ميندازه.
دنبال يه راهيم که پروسس ها و حلقه هاي در حال اجرا رو Force بننده.
با تشکر :لبخندساده:
يه برنامه دارم که تو يکي از فرم ها يه حلقه به اين صورته:
Private Sub Start_Serach_Click()
Dim TMP_Adress As String
Dim TMP As String
StopBrowser = False
My_List.Show
TMP_Adress = Mid(Adress, 1, Len(Adress) - 1)
For i = My_List.Az To My_List.Ta
'IF USER STOP IT
If StopBrowser = True Then
WebBrowser1.Stop
Exit For
End If
TMP = TMP_Adress + STR(i)
WebBrowser1.Navigate (TMP)
While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
My_List.HTML = WebBrowser1.Document.Body.innerHTML
My_List.Page_Number = "Now Page:" & i
Call TestRegExp("href=(.*?)target=(.*?)</a>", "", My_List.HTML)
Next i
End Sub
تو Unload فرم Main هم از اين دستور استفاده کردم:
If Peygham(MB, "aya mayel be khoro0j mibashid?", CriticalX, BaleKhair) = "Bale" Then
Call Peygham(MB, "movafagh bashid!", InformationX, Tayid)
Dim Frm As Form
For Each Frm In Forms
Unload Frm
Next
End If
و با اين دستور حلقه رو متوقف مي کنم:
Public Sub Stop_Click()
StopBrowser = True
End Sub
وقتي که مي خوام برنامه رو از حافظه خارج کنم بعضي وقتا که حلقه هنوز متوقف نشده کد بالا فرم ها رو ميبنده اما يه بار ديگه فرم باز ميشه.
اين به خاطر خارج نشدن از حلقه بالاست.
حالا سوالم اينکه
چجوري ميشه از يک حلقه يا پروسس در حال اجرا (براي مثال Inet در هنگام دريافت اطلاعات) خارج شد و بعد برنامه رو از حافظه خارج کرد؟؟؟
مي تونم چک کنم که حلقه تموم شده يا نه اما اينکار عمل خروج رو به تعويق ميندازه.
دنبال يه راهيم که پروسس ها و حلقه هاي در حال اجرا رو Force بننده.
با تشکر :لبخندساده: