Nueva ayudita con Mi Chat en Visual

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

Avatar de Usuario
bebesita

Nueva ayudita con Mi Chat en Visual

Mensaje por bebesita » Jue Feb 20, 2003 3:05 am

Hola, he creado un chat en Visual Basic 6 con su respectivo Kliente y Servidor. estoy usando Winsock para la coneccion, pero obtengo un error en el servidor cuando intento eliminar un usuario del kliente. Les dejo el Codigo fuente del Modulo del servidor donde especifica el error haber kien me hecha una mano.

Codigo fuente del Modulo del servidor donde esta el error:

Public Sub BorraCombo()
' limpia el listbox lstclientes
FrmServidor.lstClientes.Clear


Dim i As Integer

For i = 1 To MaxCon

' un cliente está conectado en el socket i

'!!!AQUI ESTÁ EL ERROR!!! Cuando tiene que borrar al usuario seleccionado del lstclientes,pone no coinciden los tipos (Type Missmatch )
If bSocketStatus(i) = True Then FrmServidor.lstClientes.RemoveItem "Cliente " & i & " (" & FrmServidor.SockConecta(i).RemoteHostIP & ")"

Next i
End Sub

Avatar de Usuario
ABCdatos
Administrador foro
Mensajes: 673
Registrado: Dom Mar 03, 2002 1:00 am
Contactar:

Mensaje por ABCdatos » Jue Feb 20, 2003 5:30 am

El error está en la instrucción RemoveItem, pues la localización del elemento a eliminar no es posible realizarla identifícandolo por el valor que contiene, sino por su número de orden en la lista.

Saludos.
Equipo ABCdatos.
http://www.abcdatos.com/

Avatar de Usuario
bebexita

Nuevo Problemita con el Chat

Mensaje por bebexita » Lun Feb 24, 2003 11:26 pm

Hola ABC Datos

Entendí tu explicación, lo modifiqué, pero sigo teniendo problemas

Te muestro el codigo:


Private Sub Command1_Click()
'desconecta al cliente seleccionado del lstclientes
numlista = lstClientes.ListIndex 'la variable numlista está declarada en el módulo como publica e integer
sockconecta_Close (numlista)
End Sub


' desconexión de un cliente
Private Sub sockconecta_Close(index As Integer)

' libera el socket usado.
bSocketStatus(index) = False
DebugText "Cliente " & index & " (" & SockConecta(index).RemoteHostIP & " Se Desconecto"
SockConecta(index).Close
BorraCombo (index)
End Sub


Public Sub BorraCombo(index)
' limpia el listbox lstclientes
FrmServidor.lstClientes.Clear


Dim i As Integer

For i = 1 To MaxCon

' un cliente está conectado en el socket i

'!!!AQUI ESTÁ EL ERROR!!! me pone llamada a procedimientos o argumentos no validos
If bSocketStatus(i) = True Then FrmServidor.lstClientes.RemoveItem (index)
Next i
End Sub


No entiendo que pasa, si el parametro que le paso es un integer....

Espero que me tengan paciencia, es ke apenas comienzo con esto del Visual. Gracias y saludos.

Avatar de Usuario
ABCdatos
Administrador foro
Mensajes: 673
Registrado: Dom Mar 03, 2002 1:00 am
Contactar:

Mensaje por ABCdatos » Mar Feb 25, 2003 12:20 am

Tras el FrmServidor.lstClientes.Clear no queda ningún elemento a eliminar, el ListBox está vacío ya.

Saludos.
Equipo ABCdatos.
http://www.abcdatos.com/

Avatar de Usuario
jorgevima

Re: Nueva ayudita con Mi Chat en Visual

Mensaje por jorgevima » Mar Feb 25, 2003 12:36 pm

Hola "bebesita"! ¿Podrías pasarme el código del 'chat'? (jorgevima74@hotmail.com) Gracias.
bebesita escribió:Hola, he creado un chat en Visual Basic 6 con su respectivo Kliente y Servidor. estoy usando Winsock para la coneccion, pero obtengo un error en el servidor cuando intento eliminar un usuario del kliente. Les dejo el Codigo fuente del Modulo del servidor donde especifica el error haber kien me hecha una mano.

Codigo fuente del Modulo del servidor donde esta el error:

Public Sub BorraCombo()
' limpia el listbox lstclientes
FrmServidor.lstClientes.Clear


Dim i As Integer

For i = 1 To MaxCon

' un cliente está conectado en el socket i

'!!!AQUI ESTÁ EL ERROR!!! Cuando tiene que borrar al usuario seleccionado del lstclientes,pone no coinciden los tipos (Type Missmatch )
If bSocketStatus(i) = True Then FrmServidor.lstClientes.RemoveItem "Cliente " & i & " (" & FrmServidor.SockConecta(i).RemoteHostIP & ")"

Next i
End Sub

Responder