Voor een nieuw programma dat ik aan het schrijven ben, heb ik een winsok nodig. Afijn, ik heb wat gerommeld, een form en een module gemaakt en in de module een functie gezet:
Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
je kent het wel, deze hook je dan aan form1 met setwindowlong en de callbacks lopen via die functie. Daaruit de calls pikken die van wsock zijn en het komt allemaal wel goed. Maar... nu wil ik de hele sock in een class module laten lopen, omdat ik met meerdere sockets ga werken en niet de callbacks van XX sockets door 1 function wil krijgen. Dus ik plep die functie in mn class module, en doe WSAAsyncSelect(s, AddressOf WindowProc, ByVal 1025, ByVal Ops). De Form is niet meer gehooked, want dat deed ik alleen maar voor de winsock callbackjes. Maar nu komen de callbacks niet meer door
Ook in de ouwe situatie (Form1 en Module1 met de windowproc erin) waarin het nog allemaal werkte wil het niet op deze manier werken (ipv gehookte form de wsaasyncselect direct verwijzen naar de functie)
iemand een idee hoe ik dit op moet lossen?
Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
je kent het wel, deze hook je dan aan form1 met setwindowlong en de callbacks lopen via die functie. Daaruit de calls pikken die van wsock zijn en het komt allemaal wel goed. Maar... nu wil ik de hele sock in een class module laten lopen, omdat ik met meerdere sockets ga werken en niet de callbacks van XX sockets door 1 function wil krijgen. Dus ik plep die functie in mn class module, en doe WSAAsyncSelect(s, AddressOf WindowProc, ByVal 1025, ByVal Ops). De Form is niet meer gehooked, want dat deed ik alleen maar voor de winsock callbackjes. Maar nu komen de callbacks niet meer door
Ook in de ouwe situatie (Form1 en Module1 met de windowproc erin) waarin het nog allemaal werkte wil het niet op deze manier werken (ipv gehookte form de wsaasyncselect direct verwijzen naar de functie)
iemand een idee hoe ik dit op moet lossen?