powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / 35601 element not found на win 7
4 сообщений из 4, страница 1 из 1
35601 element not found на win 7
    #37043358
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обнаружилось случайно на win7 x64
Ну висит себе окно проги, никому не мешает.
Компьютер уснул по дефолту, перешел в режим "locked".
Вводим пароль, заходим.
И вот те раз:
35601 element not found
А в первый раз когда это случилось еще чего-то наляпал кажется 429 ActiveX not found а потом насчет совместимости.
Прога достаточно напичкана, так сразу и не сообразишь. Есть какие общие идеи?
Из ActiveX там только CommonControls-5 и, черт бы его за ногу, Microsoft Internet Transfer Control 6.0 (SP6), не он ли нагадил?... недаром избегаю эти ocx-ы.
Че делать то, vb там нет(принципиально не ставлю на тестовые системы), после перезапуска естественно все нормально (до следующего "раза").
...
Рейтинг: 0 / 0
35601 element not found на win 7
    #37043370
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Логи вести.
Добавь в свою программу ключик "-verbose" и при его наличии веди настолько подробные логи как можешь. Найдешь проблемный кусок, добавляй в него отладочных сообщений до тех пор пока не догадаешься где ошибка.
...
Рейтинг: 0 / 0
35601 element not found на win 7
    #37043755
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlДобавь в свою программу ключик "-verbose" и при его наличии веди настолько подробные логи как можешь...
Оно конечно правильно говорите, но в данном случае это будет нелегкая работа...
Хотя б попытаться так понять в чем может быть проблема.

1. Есть много в Load_form:
считывание настроек, инициализация сабклассингов и стилей в основном Listview-Treeview-наведение "красоты"
2. Есть таймер, который где-то раз в секунду проверяет запущен ли сервис NT с указанным именем (либо приложение(другое) как Application) -в зависимости от режима
3. Есть сабклассинги инициализированные в п.1
4. Есть еще нек. код в Form_Activate, честно показался мне подозрительным:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Form_Activate()
        InitListView2 'доинициализация "красоты"
        'Microsoft Internet Transfer Control 6.0 (SP6) MSINET.OCX
        If (Len(Command()) =  0 ) And (Not (StartParam.InitStart = "1")) Then 'только в основном режиме панели
            If IfInternetPossible Then 'форсируем онлайн-режим IE
                Inet1.Execute "http://www.mysite.com/file.txt", "GET"
            Else 'при неудаче(не выключился автономный режим)продолжаем с пустым результатом
                webStr = ""
                TimerDownload_Timer
            End If
        End If
        MeActive = True
 End Sub
Перестраховался:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Dim MeActive As Boolean 'один раз загружали, страховка
Private Sub Form_Load()
....
    MeActive = False
End Sub
Private Sub Form_Activate()
    If MeActive = False Then
        InitListView2
        'Microsoft Internet Transfer Control 6.0 (SP6) MSINET.OCX
        If (Len(Command()) =  0 ) And (Not (StartParam.InitStart = "1")) Then 'только в основном режиме панели
            If IfInternetPossible Then 'форсируем онлайн-режим IE
                Inet1.Execute "http://www.mysite.com/file.txt","GET"
            Else 'при неудаче(не выключился автономный режим)продолжаем с пустым результатом
                webStr = ""
                TimerDownload_Timer
            End If
        End If
        MeActive = True
    End If
End Sub
Вроде как 429 ActiveX not found больше не проявляется, но
35601 element not found иногда выскакивает.

Вообще говоря этой проге в режиме Sleep делать нечего, м.б. как-то отловить переход в Sleep по тому же таймеру и просто сделать ей Unload? Неправильно конечно...
...
Рейтинг: 0 / 0
35601 element not found на win 7
    #37044021
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlЛоги вести.
Добавь в свою программу ключик "-verbose" и при его наличии веди настолько подробные логи как можешь. Найдешь проблемный кусок, добавляй в него отладочных сообщений до тех пор пока не догадаешься где ошибка.
Все-таки сделал по вашему методу, который безусловно правильный, хотя и оч-чень не было желания.
Дмитрий772. Есть таймер, который где-то раз в секунду...
Таймер выполняет какой-то набор функций...В спящем режиме таймер тоже спит. При этом, если код таймера выполняется есть интересный момент, часть кода Timer1_Timer может выполниться до засыпания, а оставшаяся часть кода после пробуждения.
Но это как бы к делу не относится, т.е. удалось обнаружить что ошибка возникала в одной и той же ф-ции:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub() 
   parametr1=- 1 
   parametr2=- 1 
   if (file1)  parametr1=value1
   if (file2) parametr2=value2
   if parametr1=- 1  then Listview.clean
   ...
   if not(parametr2)=- 1  then
   listview.element(n).property=...
end Sub
Грубо говоря если первый файл->параметр считать не удалось, то все элемены ListView удаляются.
А если удалось считать параметр2, то какому-то свойству какого-то элемента Listview присваевается значение.
Т.е. явная ошибка в алгоритме: стерли все элементы Listview за отсутствием параметра1, а потом пытаемся работать с несуществующим элементом если вдруг есть параметр2.

Вообще говоря такая ситуация невозможна(следует из специфики работы программы), поэтому не обратил внимание.
Но в процессе пробуждения по каким-то причинам (не до конца проснулся) может получиться что file1 прочитать не смогли, а file2 смогли. И ошибка в алгоритме выстреливала. Заменил на
Код: plaintext
1.
  if not(parametr2)=- 1  and not(parametr1)=- 1  then
   listview.element(n).property=...
и 35601 element not found более не проявляется

Убрал также свою предыдущую "перестраховку" (Form_Activate дважды думаю не выполняется).
429 ActiveX not found тоже больше не стреляет
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / 35601 element not found на win 7
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]