PROBLEMA COM ARRAY

FLAVIOGUILHERME 13/08/2007 10:28:03
#230632
Galera bom dia !!!
Tenho um sistema cliente/servidor usando o winsock, carrego um novo winsock quando recebo uma nova conexão.

'Receber
I = I + 1
Load SERVIDOR(I)

Fecho e descarrego o winsock quando a conexão e encerrada, para não ficar com vários winsocks carregados.

'Encerrar
SERVIDOR(Index).Close
Unload SERVIDOR(Index)

Como faço para saber se um array (index) ainda esta carregado ?

Preciso enviar uma mensagem para os clientes que estiverem conectados tipo "O sistema será encerrado em 5 minutos !!!"

Private Sub Command1_Click()
VarNum = "0"
For VarNum = 1 To I
If VarNum > I Then
Else
SERVIDOR(VarNum).SendData "FecharSistema%" & Text1.Text
End If
Next
MsgBox VarNum & " Mensagens enviadas !!!"
End Sub


Alguém pode ajudar ?
USUARIO.EXCLUIDOS 13/08/2007 10:32:22
#230635
Tenta usar a propriedade State do winsock, assim vc sabe se o usuário esta conectado.

Isso te ajuda ?
USUARIO.EXCLUIDOS 13/08/2007 10:40:59
#230639
Resposta escolhida
Amigo, creio que da forma abaixo vc consegue atender suas necessidades.

On Error GoTo TrataErro

For Each Obj In Me
If (TypeOf Obj Is CommandButton) Then
'Faz as operações com o Obj
Obj.Send "Blah, blah, blah"
End If
Next

TrataErro:
'Significa que o objeto não é um array
If Err.Number = 343 Then
Resume Next
ElseIf Err.Number <> 0 Then
MsgBox "Erro: " & Err.Number & vbCrLf & "Descrição: " & Err.Description, vbCritical, App.Title
End If



Outra alteranativa, é fazer um tratamento de erro na sua rotina, e se der erro falando que o objeto não existe vc pula para o próximo.
USUARIO.EXCLUIDOS 13/08/2007 10:45:11
#230640
Tenta usar a propriedade State do winsock, assim vc sabe se o usuário esta conectado.

Isso te ajuda ?


Na verdade não serviria pra ele, já que não tem como ele usar a propriedade State de um objeto que já não existe mais.
FLAVIOGUILHERME 13/08/2007 11:11:14
#230648
Obrigado MARCELOHF pela luz, optei por fazer um tratamento de erro e pular para o próximo.
USUARIO.EXCLUIDOS 13/08/2007 11:14:55
#230649
Blz Cara... qualquer coisa posta aí...


se se já está tudo blz, só não esquece de encerrar o tópico! ;)


Abs!
Tópico encerrado , respostas não são mais permitidas