Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
kos
-
- Начинающий
-
-
- Сообщения: 4
- Зарегистрирован: 13.07.2005 (Ср) 13:24
kos » 13.07.2005 (Ср) 13:36
Решил написать чат с помощью UDP. Все нормально. Работает. НО!
В 3-х случаях возникает ощибка с описанием "Run-time error '126'", либо вообще без описания:
1) первая отправка сообщения (последующие - все нормально)
2) инициализация
3) вообще при каждом действии с Винсоком (прога перестает норамльно функционировать).
Пишу подобную прогу впервые.
Буду весьма благодарен, если гуру помогут зеленому разобраться!
-
Jenizix
-
- Географ
-
-
- Сообщения: 545
- Зарегистрирован: 20.04.2004 (Вт) 20:52
- Откуда: Москва
-
Jenizix » 13.07.2005 (Ср) 18:35
Ну а код покажи! у нас тут телепатов пока не наблюдается...
Ушел в себя, вернусь не скоро...
Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!
-
kos
-
- Начинающий
-
-
- Сообщения: 4
- Зарегистрирован: 13.07.2005 (Ср) 13:24
kos » 14.07.2005 (Чт) 12:25
Jenizix писал(а):Ну а код покажи! у нас тут телепатов пока не наблюдается...
Звиняюсь, думал, что ошибка общеизвестная..
- Код: Выделить всё
Private Sub cmdRefresh_Click() ' процедура проверки наличия собеседника "на том конце провода"
On Error GoTo 1
ws.SendData "req"
txtStatus.Text = "Проверка наличия соединения..."
1:
If Err.Number <> 0 Then MsgBox "Произошла ошибка передачи данных. Повторите операцию", vbCritical: Exit Sub
End Sub
Private Sub Form_Load()
On Error GoTo 1
...
ws.Protocol = sckUDPProtocol
ws.RemotePort = RemPort 'процедура проверки "на дурака" есть - с этой стороны ошибки быть не может
ws.RemoteHost = RemIP
ws.Bind LocPort
1:
If Err.Number <> 0 Then MsgBox "Произошла ошибка передачи данных. Повторите операцию", vbCritical: Exit Sub
End Sub
Private Sub lSendData(ByVal sData As String)
On Error GoTo 1
ws.SendData "msg" & sData
txtOut.Text = ""
txtStatus.Text = "Сообщение отправлено - ожидание отчета о получении..."
txt.Text = txt.Text & "<" & LocNick & "< [" & Time & "] " & sData & vbCrLf & vbCrLf
1:
If Err.Number <> 0 Then MsgBox "Произошла ошибка передачи данных. Повторите операцию", vbCritical: Exit Sub
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
On Error GoTo 1
Dim a
ws.GetData a
Select Case Left(Cstr(a), 3)
Case "msg"
a = CStr(a)
txt.Text = txt.Text & ">" & RemNick & "> [" & Time & "] " & Right(a, Len(a) - 3) & vbCrLf & vbCrLf
ws.SendData "okm"
...
Case "req"
ws.SendData "okr"
...
Case "okm"
MsgBox "Ваше сообщение принято!", vbInformation
...
Case "okr"
MsgBox "Соединение активно!", vbInformation
...
End Select
1:
If Err.Number <> 0 Then MsgBox "Произошла ошибка передачи данных. Повторите операцию", vbCritical: Exit Sub
End Sub
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 73