Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Проблемы с AddHandler/ Handles Добавлено: 28.05.09 06:39  

Автор вопроса:  Slonya
Помогите, пожалуйста, разрешить проблему.
Прекращается выполнение посередине процедуры - обработчика события и начинается заново выполнение процедуры сначала при использовании AddHandler/ Handles.
Вот код

Private Sub CheckNumberOfMinute() Handles WebBrowser1.DocumentCompleted
        Dim dText As String
        Dim StartFigure As Integer
        Dim FinishFigure As Integer
        Dim NoInfo As Boolean = False
        If WebBrowser1.Url = New Uri(IMDBAddress & Link(MovieNumber)) Then
            dText = WebBrowser1.DocumentText
            StartFigure = 13
            If dText.Substring(InStr(dText, "Runtime:")) <> 0 Then NoInfo = True

И так далее...
Последний if не выполняется, начинается выполнение процедуры заново. Вообще говоря заново выполняется процедура по сколько-то раз и в обычной ситуации, когда процедура (с другим кодом) выполняется до конца, так что здесь тоже ситуация не ясна.
Буду благодарен за разрешение ситуации.

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 28.05.09 11:38
Видимо, здесь дело в том, что ты меняешь у WebBrowser1 URL, что приводит к перезагрузке документа и новому вызову обработчика.

Ответить

Номер ответа: 2
Автор ответа:
 Slonya



Вопросов: 1
Ответов: 2
 Профиль | | #2 Добавлено: 28.05.09 20:56
Нет, переделал вот так, не помогло.
  1.  
  2.  Private Sub CheckNumberOfMinute() Handles WebBrowser1.DocumentCompleted
  3.         Dim dText As String
  4.         Dim StartFigure As Integer
  5.         Dim FinishFigure As Integer
  6.         Dim NoInfo As Boolean = False
  7.         If WebBrowser1.Url.OriginalString = IMDBAddress & Link(MovieNumber) Then
  8.             dText = WebBrowser1.DocumentText
  9.             StartFigure = 13
  10.             If dText.Substring(InStr(dText, "Runtime:")) <> 0 Then NoInfo = True


По прежнему, после невыполнения последнего if'a начинает выполнять заново

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 29.05.09 11:28
По прежнему, после невыполнения последнего if'a начинает выполнять заново

Чудес на свете не бывает! Если начинается повторная загрузка, значит что то заставляет документ загружаться заново. Вполне может быть что это вовсе не в этом коде а в соседней процедуре.. В любом случае - это твой косяк. Желаешь в этом убедиться - создай чистый проект,добавь WebBrowser1 и загрузизи страницу и сразу все станет на свои места. Если событие срабатывает 1 раз - косяк в коде, иначе на странице есть либо фреймы,либо редирект либо refresh и т.д.. причин может быть туча.. и все они при определенных условиях заставят страницу перезагрузиться..
Еще, как вариант, посмотри в каком коде у тебя вызывается AddHandler(возможно ты это в цикле делаешь). Если ты несколько раз вешаешь обработчик события то и вызываться этот обработчик будет столько же раз.. Вообщем ищи косяк, по любому он у тебя в коде.

Ответить

Номер ответа: 4
Автор ответа:
 Slonya



Вопросов: 1
Ответов: 2
 Профиль | | #4 Добавлено: 01.06.09 16:01
Спасибо, нашел косяк

Ответить

Номер ответа: 5
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #5 Добавлено: 01.06.09 16:43
Спасибо, нашел косяк

;)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам