Witam serdecznie,
mam pytanie.
Do komunikacji TCPIP używam starej, ale bardzo dobrej biblioteki MSWinsock, zaczerpniętej z VB 6.0.
Wszystko gra, kiedy tworzę program w następujący sposób.
- Otwieram nowy projekt
- Do Preferences dodaje (tylko za pierwszym razem), komponent MSWinsock
- Przeciągam kontrolkę z paska narzędzi na formatkę.
- Zmieniam nazwę tej kontrolki na TCPIP
Automatycznie po wejściu w kod, u góry mam całą listę dostępnych zdarzeń.
Prosty kod wygląda tak:.
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
TCPIP.RemoteHost = "127.0.0.1"
TCPIP.RemotePort = 9100
TCPIP.Protocol = MSWinsockLib.ProtocolConstants.sckTCPProtocol
TCPIP.Connect()
End Sub
Private Sub TCPIP_DataArrival(sender As Object, e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles TCPIP.DataArrival
End Sub
End Class
Po uruchomieniu dowolnego serwera TCPIP na porcie 9100, program nawiązuje połączenie.
Wysłanie znaku powoduje uruchomienie procedury TCPIP_DataArrival.
Ale kiedy tworzę wszystko programowo, tzn. bez przeciągania kontrolki na formatkę, wszystko działa do momentu próby oprogramowania zdarzenia DataArrival.
Wiem, że da się jakoś oprogramowywać zdarzenia., tylko ja nie wiem jak to zrobić.
Np. Timer i jego zdarzenie jestem w stanie sobie sam oprogramować
ZEGAR = New System.Timers.Timer
ZEGAR.Interval = 1000
ZEGAR.Stop()
AddHandler ZEGAR.Elapsed, AddressOf ZEGAR_tick
Private Sub ZEGAR_tick(ByVal source As Object, ByVal e As System.Timers.ElapsedEventArgs)
End Sub
Oto kod, z którym nie mogę sobie poradzić. Procedura TCPIP_DataArrival zgłasza błąd składni.
Imports MSWinsockLib
Public Class Form1
Public TCPIP As MSWinsockLib.Winsock
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
TCPIP.RemoteHost = "127.0.0.1"
TCPIP.RemotePort = 9100
TCPIP.Protocol = ProtocolConstants.sckTCPProtocol
TCPIP.Connect()
End Sub
Private Sub TCPIP_DataArrival(sender As Object, e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles TCPIP.DataArrival
End Sub
End Class