Winsock

JomarB

Power Member
Ola pessoal estou com um grande pequeno problema no VB6.
Estou tentando utilizar o componente Winsock e o programa apresenta uma janela de erro e se fecha.
Pelo que eu saiba todos os componentes ocx estao na pasta system32, e tentei procuralo mais nao o encontrei.
Sera que e isto que eu deveria fazer ou tem outra opcao.
Ajuden-me:'(
 
Já trabalhei muitas vezes com o Winsock, e é necessário adiciona-lo ao projecto, vais ao adicionar componentes e tem lá klk coisa parecida com microsoft.winsock, e depois vai-te aparecer uma imagem,(2 pc's) e é só arrasta-la(mesma forma k um timer) para o form onde vais utilizar o winsock



Asa_delta
 
O meu grande problema e este.
Quando eu tendo adicionar este componente aparece uma mesnsagem de erro,
Qualquer coisa com objecto nao registrado.:'(
 
Sim, era o que eu estava a dizer. Geralmente, os componentes OCX têm de ser "registados" (inseridos no registry de modo a o Windows saber que existem). Porquê, sinceramente, não sei. Não costumo trabalhar com eles. Deixo esta parte para alguém mais experiente do que eu :)

Experimenta uma coisa: tens o WinSock.OCX, certo? O ficheiro não está em falta, pois não?
Então vai à pasta desse ficheiro. Se não estiver em C:\Windows\System (Windows pode ser WINNT, WPX, o que quiseres....é a pasta do windows), copia-o para lá.
Depois, vai à linha de comandos (ou Menu Iniciar -> Executar)e escreve
regsvr32 C:\Windows\System\WinSock.OCX (corrige a pasta e o nome do ficheiro, caso estes estejam errados no meu exemplo). Desta forma deves ficar com o winsock registado, e o componente, pronto a usar nos programas.
 
Acabei d fazer o que tu me disseste mais e correu tudo bem mas quando eu tento adicionar o objecto Winsock o VB automaticamente fecha dizendo que encontrou um erro.
Pra finalizar de uma vez com este problema sera que devo instalar novamente o VB6 ?8|
 
Antes de o fazeres, diz-me só uma coisa: tens privilégios administrativos no teu computador?
Comigo isso também acontecia, mas era só quando eu entrava com uma conta limitada (a minha).
 
A minha conta é limitado sim mas eu instalei o VB depois de ela estar limitada e não antes.
Mas caso for este o problema o que devo fazer sabe, é que eu preciso imenso de usar este componente.:'(
 
Experimenta executar o próprio VB na conta de administrador e fazer o projecto lá.

Como eu tinha dito acima, se tens tamanha necessidade de utilizar sockets, não és obrigado e utilizar o componente WinSock. Podes acrescentar ao teu projecto uma classe e um módulo (o CSocketMaster), e depois com duas linhas de código crias novos sockets.

Se precisares de uma explicação pormenorizada, avisa ;) .
O meu conselho vai mesmo para o CSocketMaster. Definitivamente.

Repito, se quiseres mesmo o componente WinSock (o OCX), liga o administrador, e executa LÁ o VB.

Cumps [[[[[[]]]]]]]
angelofwisdom
 
Infelizmente nao o consegui porque o "meu" so esta neste estado devido a demasia de programas que eu tenho instalado e por este facto estou agora limitado.
E a explicacao ?:kfold:
 
A única explicação que tenho para dar é a de como colocar o CSocketMaster a trabalhar...
Sabes usar o WinSock, certo? :P

1) Acrescenta a classe e o módulo do CSocketMaster ao projecto.

2) Na parte das declarações (isto é, fora de todas as subs/functions), escreve
Código:
Private WithEvents sckProtocolo As CSocketMaster
(sckProtocolo foi um nome dado por mim. Escreves aí o nome de uma variável qualquer à tua escolha ;) )
Private/Public, a diferença é se está a nível de módulo ou de form.


3) No Form_Load, escreve
Código:
Set sckProtocolo = New CSocketMaster

E tens agora o objecto sckProtocolo a funcionar como se o tivesses colocado no form. A única diferença (que eu tenha notado) entre o CSocketMaster e o componente WinSock é o nome do métodoe evento Close, que no CSocketMaster se chama CloseSck.

Cumps [[[[[[]]]]]]
angelofwisdom
 
Isto quer dizer que o CSocketMaster possui as mesmas propiedades que o Wsock.
Entao eu so devo colocalo e pum!! ja esta pronto para trabalhar.:002:
 
Isto quer dizer que o CSocketMaster possui as mesmas propiedades que o Wsock.
Entao eu so devo colocalo e pum!! ja esta pronto para trabalhar.:002:
Em princípio sim. Deves poder utilizá-lo tal e qual como utilizas o WinSock (excepto o Close -> CloseSck, como já disse).
Quando tiveres feito isso, avisa ;)
 
Olha estou com um novo problema quanto ao adicionar a classe e o modulo.
Estou a seguir os seguintes passos:
1- Project
2- Add Class Module
depois disto tento rodar o programa e vem uma mensagem de erro que diz mais ou menos isto:
Used definid type ou qualquer coisa do genero.
Sera que estou errando em algum procedimento.8|
 
Back
Topo