I have moved my task into a background worker sub, but I am still having the same error.
Any suggestions?Code:Imports System.Text.RegularExpressions Imports System.Net Imports System.Text Imports System.Threading Public Class Form1 Private Property str33 As Object Dim strNum As Integer Dim strSearch As String Private getAlexaNow As Thread Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ' Dim linkurl As String 'linkurl = "http://www.860designs.com/check.txt" ' Dim myResponse As Net.HttpWebResponse = Net.HttpWebRequest.Create(linkUrl).GetResponse '// connect. '' Dim myStream As IO.Stream = myResponse.GetResponseStream() '// get. ' Dim myReader As New IO.StreamReader(myStream) '// read. ' Dim myWebFileInfo As String = myReader.ReadToEnd '// get innerHtml of Page. ' Dim strUser As String '// close reader, information stream, and connection. ' myReader.Close() : myStream.Close() : myResponse.Close() ' strUser = InputBox("username") ' If InStr(myWebFileInfo, strUser) Then ' Else ' Me.Close() ' Exit Sub ' End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate("http://www.google.com/search?tbm=blg&hl=en&source=hp&biw=&bih=&q=" & strSearch & "&btnG=Search") strNum = 1 strNum = 10 tmrBroswer.Enabled = True End Sub Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted 'For every link in the current document... For Each ele As HtmlElement In WebBrowser1.Document.Links 'Get whatever text there is in the 'href' attribute Dim eletarget As String = ele.GetAttribute("href") Dim eletargetNew As String 'Add it to the listbox If InStr(eletarget, "google.com") Then ElseIf InStr(eletarget, "youtube.com") Then ElseIf InStr(eletarget, "wdyl.com") Then ElseIf InStr(eletarget, "javascript") Then Else Dim myStartIndex As Integer = eletarget.IndexOf("h") + 1 '// add +5 to not add "<pre>" to final result. '// get location of </pre> by index. Dim myEndIndex As Integer = eletarget.IndexOf("com") + 3 '// subtract to get a total number for the substring length result. Dim myStringLengthToExtract As Integer = myEndIndex - myStartIndex '// display result. eletargetNew = eletarget.Substring(myStartIndex, myStringLengthToExtract) If eletargetNew = "t" Then Else linksList.Items.Add("h" & eletargetNew) End If End If 'Carry on to the next link Next 'strNum = strNum + 10 ' Dim strSearch As String ' strSearch = txtSearch.Text ' If strNum > 100 Then 'Exit Sub ' End If If tmrBroswer.Enabled = False Then tmrBroswer.Enabled = False Exit Sub End If tmrBroswer.Enabled = True End Sub Private Sub tmrBroswer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tmrBroswer.Tick Dim intStop As Integer strSearch = txtSearch.Text If intStop >= 5 Then Exit Sub tmrBroswer.Enabled = False End If WebBrowser1.Navigate("http://www.google.com/search?tbm=blg&hl=en&source=hp&biw=&bih=&q=" & strSearch & "&btnG=Search&start=" & strNum) intStop = intStop + 1 strNum = strNum + 10 End Sub Private Sub cmdStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStop.Click tmrBroswer.Enabled = False End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.BackgroundWorker1.RunWorkerAsync() End Sub Private Sub BackgroundWorker1_DoWork(ByVal sender As Object, _ ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork Dim worker As System.ComponentModel.BackgroundWorker = DirectCast(sender, System.ComponentModel.BackgroundWorker) For i As Integer = 1 To 100 'Raise the ProgressChanged event in the UI thread. worker.ReportProgress(i, i & " iterations complete") Dim intList As Integer Dim strAlexa As String intList = "0" strSearch = txtSearch.Text Do Until intList = linksList.Items.Count Dim linkUrl As String = "http://www.alexa.com/search?q=" & Me.linksList.Items.Item(intList) Try Dim myResponse As Net.HttpWebResponse = Net.HttpWebRequest.Create(linkUrl).GetResponse '// connect. Dim myStream As IO.Stream = myResponse.GetResponseStream() '// get. Dim myReader As New IO.StreamReader(myStream) '// read. Dim myWebFileInfo As String = myReader.ReadToEnd '// get innerHtml of Page. myReader.Close() : myStream.Close() : myResponse.Close() '// close reader, information stream, and connection. If InStr(myWebFileInfo, "No regional data") Then Me.alexaList.Items.Add((Me.linksList.Items.Item(intList)) & ":" & "No Alexa rank") Exit Try End If '// get location of <pre> by index. Dim myStartIndex As Integer = myWebFileInfo.IndexOf(">US</a>:") + 8 '// add +5 to not add "<pre>" to final result. '// get location of </pre> by index. Dim myEndIndex As Integer = myWebFileInfo.IndexOf(" </li>") '// subtract to get a total number for the substring length result. Dim myStringLengthToExtract As Integer = myEndIndex - myStartIndex '// display result. strAlexa = myWebFileInfo.Substring(myStartIndex, myStringLengthToExtract) If InStr(strAlexa, "XHTML") Then Me.alexaList.Items.Add((Me.linksList.Items.Item(intList)) & ":" & "No Alexa rank") Else If InStr(strAlexa, "%%") Then Else Me.alexaList.Items.Add((Me.linksList.Items.Item(intList)) & ":" & strAlexa) End If End If Catch ex As Exception MsgBox("Connection Error - " & ex.Message) End Try intList = intList + 1 Loop Threading.Thread.Sleep(250) Next i End Sub Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, _ ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged Me.ProgressBar1.Value = e.ProgressPercentage Me.lblStatus.Text = TryCast(e.UserState, String) End Sub 'This method is executed in the UI thread. Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, _ ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted Me.lblStatus.Text = "Operation complete" End Sub Private Sub alexaList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim aLink As String Dim aLinkNew As String aLink = alexaList.SelectedItem.ToString Dim myStartIndex As Integer = aLink.IndexOf("h") + 1 '// add +5 to not add "<pre>" to final result. '// get location of </pre> by index. Dim myEndIndex As Integer = aLink.IndexOf("com") + 3 '// subtract to get a total number for the substring length result. Dim myStringLengthToExtract As Integer = myEndIndex - myStartIndex '// display result. aLinkNew = aLink.Substring(myStartIndex, myStringLengthToExtract) If aLinkNew = "t" Then Else alexaBrowser.Navigate("h" & aLinkNew) End If End Sub End Class




Reply With Quote