On Error Resume Next - не работает!

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Zerg1
Сообщения: 6
Зарегистрирован: 21 окт 2005, 20:45

В ВБ 6.0 проекте есть такая подпрограмма.

Public Sub SendMsg(ByVal msgtype As Long, ByVal nver As Single, ByVal Lang As Long, ByVal name As String, ByVal Hash As Long, ByVal gameN As Long, ByVal Y As Long, ByVal move As String, ByVal map As String, ByVal text As String)
'On Error Resume Next
'On Error GoTo 0
Dim B As String
Dim L As Long
B = String(64000, 0)
If (name = "") Then
name = ES
End If
If (move = "") Then
move = ES
End If
If (map = "") Then
map = ES
End If
If (text = "") Then
text = ES
End If
L = PackMsg(B, msgtype, nver, Lang, name, Hash, gameN, Y, move, map, text)
frmMain.Socket.RemoteHost = frmMain.Addres.text
frmMain.Socket.RemotePort = frmMain.Port.text
frmMain.Socket.SendData Left(B, L)
TotalSend = TotalSend + L
End Sub

Дык вот, если на том конце компьютер работает, то всё пашет на ура, а если выключен, то подавить рантайм-еррор 10054 не удаётся. Пробовал раскоментарить он ерроры в начале подпрограммы, и по одному, и вместе, и в разных порядках, и всё бестолку. Помогите прирастить руки в нужное место.
alexx
Сообщения: 116
Зарегистрирован: 02 июл 2004, 22:29
Откуда: Hamburg

Код: Выделить всё

'On Error Resume Next 
'On Error GoTo 0 
1) есть Remark, не выполняется

2) реши что хочешь:

a)

Код: Выделить всё

On Error Resume Next 
Function_Do_ABC
if Err.Number <> 0 then Function_Do_on_Error
b)

Код: Выделить всё

On Error GoTo Error_Occurs
Function_Do_ABC
..

Exit Sub
Error_Occurs:
Function_Do_on_Error
End Sub

Код: Выделить всё

On Error GoTo 0 
- выключает error handling
-------------
Лень - двигатель прогресса!
Zerg1
Сообщения: 6
Зарегистрирован: 21 окт 2005, 20:45

В общем, напутал всё я с недосыпу, приношу извинения мировой общественности. На самом деле еррор возникал в _другой_ сабе. Как говорил Володя Шарапов: "Замылился у него глаз". Там ессно всё подавилось, так что это у меня руки не работают, а не он-еррор. Сорри ещё раз.
Ответить