Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Обработчик ошибок Добавлено: 26.05.04 05:48  

Автор вопроса:  Surok
Есть такая проблема с обработчиком ошибок при переносе программы с W98 на W2000/XP..Обьясните, пожалуйста, что такое обработчик ошибок...Где его взять и как установить...Может быть вопрос вопрос задается в тысячный раз, тогда посоветуйте инфу по данной теме (хотелось бы также узнать о совместимости VB программ с разными версиями windows)...

Ответить

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

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



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #1 Добавлено: 26.05.04 09:51

Обработчик ошибок ни откуда не берется и  нигде не устанавливается. Обработчик ошибок - ето кусок кода, цель которого в обработке ошибок. Вот небольшой пример :

On error goto ErrH 'Вот ErrH и будет обработчиком ошибок

... 'Тут сам код

Exit Sub
ErrH:

Selecat case err.Number
Case 6
   MsgBox "Переполнение !"
   i=0
   Resume Next
Case 13
   MsgBox "Где-то несоответствие типов"
Case Else
   MsgBox "Какая-то ошибка : " & Err.Description
End select

Вот этот кусок кода и есть обработчик ошибок. Вся фишка - при возникновении ошибки тебя не выкинет из проги, а перекинет на обработчик ошибок. С дальнейшей ихз обработкой.

Ответить

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



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #2
Добавлено: 26.05.04 11:13
угу... а если еще весь код пронумировать как в старом васик:
10 rem
20 print...
30 run

то при возникновении ошибки строчку можно будет узнать с пом. Erl (вроде так пишется...)

Ответить

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



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #3
Добавлено: 26.05.04 16:56

Итак... Облекчить твою проблему можно так.
Создаёш модуль и называеш его mdlError.
А внутри кода пишеш:

Public Sub Error (ErrNum as Integer)
Select Case ErrNum
   Case 57
      Answ = Msgbox("Файл не найден. Причин навалом: Либо ты не правильно укозал либо его нету (небыло)" _
      & vbCrLf & "Хочеш ещё раз попробовать?", vbYesNo, "Программа")
      If Answ = vbYes then call OpenFile
   Case 105
      Msgbox "Опаньки! Не хаватка ресурсов!!!"
   Case Else
      Answ = MsgBox("Программа выполнела ошибку!" & vbCrLf & "Нажмите 'Да' чтоб закрыть прогамму или 'Нет' чтобы попытатся продолжить?"), vbYesNo
      if Answ = vbYes Then
         Unload frmMain
         Set frmMain = Nothing
         End
      Else
         Resume Next
      End if
End Select
End Sub

Ответить

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



Вопросов: 36
Ответов: 106
 Профиль | | #4 Добавлено: 26.05.04 18:02

Спасибо что откликнулись.......но мою возникшую проблему это не решило.....

Проблема следующая:

Писал проект VB под W98, тестировал -все работает...Запустил откомпилированную прогу под XP - тоже работает,все клево...Но появилась потребность слегка подкорректировать код...открываю VBпроект в этом самом XP, и он пишет,что нехватает каких-то библиотек(открывает окно Project - Reference ) и предлагает их выбрать.(ёёё .... ничего дополнительного при работе в W98 я не подключал).Далее стал дебажить код - выяснил, что ошибка вызывается из-за того, что не обрабатывается On Error Goto . Вот и решил спросить..

On Error GoTo m:
m:
If Err.Number = 340 Then
Load grid(i)
End If

Ответить

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



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #5 Добавлено: 26.05.04 21:09
Ну так это не совместимость проекта с XP, это просто в XP этой библиотеки нет. Посмотри имя этой библиотеки внизу окна, скопируй её в %WinDir%\System32 и зарегистрируй командой regsvr32 [имя библиотеки]. Все должно заработать.

Ответить

Номер ответа: 6
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 27.05.04 00:07
или если лень регистрировать, просто укажи к ней путь, и она будет зарегистрирована автоматически при присоединении к проекту...

Ответить

Номер ответа: 7
Автор ответа:
 Surok



Вопросов: 36
Ответов: 106
 Профиль | | #7 Добавлено: 27.05.04 01:20

Копаем дальше....

Дело в том что я не знаю название этой библиотеки...

Вместе с VB загружаются автоматически:(Project - References)

Visual Basic For Application

Visual Basic runtime objects and procedures

Visual Basic objects and procedures

Без них VB, я так понимаю, работать не будет...они загружаются и в XP..больше я ничего не подключал.

 

Ответить

Номер ответа: 8
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #8
Добавлено: 27.05.04 01:35
можешь посмотреть, открыв файл проекта в блокноте...

Ответить

Номер ответа: 9
Автор ответа:
 Millenium



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #9
Добавлено: 27.05.04 10:35
SNe prav! Otkroy v bloknote i posmotri.
MOjesh i v reference posmotret! MOjet tam 4to-to stoit?

Ответить

Страница: 1 |

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



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