Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MSWinsock.Winsock event handling in VisualBasic

I'm trying to handle Winsock_Connect event (Actually I need it in Excel macro) using the following code:

Dim Winsock1 As Winsock 'Object type definition

Sub Init()
    Set Winsock1 = CreateObject("MSWinsock.Winsock") 'Object initialization
    Winsock1.RemoteHost = "MyHost"
    Winsock1.RemotePort = "22"
    Winsock1.Connect

    Do While (Winsock1.State <> sckConnected)
        Sleep 200
    Loop
End Sub

'Callback handler
Private Sub Winsock1_Connect()
    MsgBox "Winsock1::Connect"
End Sub

But it never goes to Winsock1_Connect subroutine although Winsock1.State is "Connected". I want to use standard MS library because I don't have administrative rights on my PC and I'm not able to register some custom libraries. Can anybody tell me, where I'm wrong?

like image 308
user21530 Avatar asked Sep 24 '08 07:09

user21530


1 Answers

Are you stuck using MSWinsock?
Here is a site/tutorial using a custom winsock object.

Also... You need to declare Winsock1 WithEvents within a "Class" module:

Private WithEvents Winsock1 As Winsock

And finally, make sure you reference the winsock ocx control.
Tools -> References -> Browse -> %SYSEM%\MSWINSCK.OCX

like image 73
Nescio Avatar answered Oct 10 '22 07:10

Nescio