CB30188: Déclaration attendue

Résolu
je rencontre le souci suivant : erreur CB30188 : déclaration attendue à la ligne 17.
Je comprends pas, la procédure est sur la ligne juste en-dessous !
(le code doit encore être complété, mais je teste régulièrement au cours du développement - manie attrapée à l'époque où le debugging se faisait sans aide)

Je sais, je débute avec VB

Merci

1 Imports System.Net
2 Imports System.Net.Sockets
3 Imports System.Threading

4 Public Class _Default
5 Inherits Page
6
7 Public Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
8 End Sub
9
10 Public Class ThreadManager
11 Public MonThread As Thread
12 Public Mess As Byte()
13 Public Envoi As Integer
14 Public MonEP As IPEndPoint
15
16 Public MonSocketClient As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
17 AGE_connexion()
18
19 Public Sub AGE_connexion()
20 Try
21 MonEP = New IPEndPoint(IPAddress.Parse("127.0.0.1"), 45435)
22 MonSocketClient.Connect(MonEP)
23 Return
24 Catch ex As Exception
25 Return
26 End Try
27 End Sub
28
29 Public Sub envoyer_message(message)
30 Mess = Encoding.UTF8.GetBytes(message)
31 Envoi = MonSocketClient.Send(Mess)
32 End Sub
33
34 Public Sub lecture()
35 MonThread = New Thread(AddressOf ThreadLecture)
36 MonThread.Start()
37 End Sub
38
39 Public Sub ThreadLecture()
4 While (MonSocketClient.Connected)
41 Dim Bytes(255) As Byte
42 Dim Recu As Integer
43
44 Try
45 Recu = MonSocketClient.Receive(Bytes)
46 Catch ex As Exception
47 MsgBox("Connexion perdue, arrêt de la réception des données ...", 1)
48 End Try
49
50 Dim Message As String
51 Message = System.Text.Encoding.UTF8.GetString(Bytes)
52 Message = Message.Substring(0, Recu)
53 MsgBox(Message)
54 End While
55 End Sub
56 End Class
57
57 End Class

--
Alain Elshocht

6 réponses

  1. open classroom

    largué .....
    0
    1. Modérateur
      Question, quel tutoriel as-tu suivi ?
      Il me semble que tu n'as pas suivi toutes les étapes.

      AGE_connexion est une méthode accessible à partir d'une instance de ThreadManager.
      Il faut d'abord créer un objet puis appeller la méthode.
      0
      1. quand je positionne l'appel dans la gestion de l'événement PageLoad, l'erreur est AGE_connexion n'est pas déclaré ....

        est-ce de la fatigue ou la saturation après deux mois de recherche sur ce sujet (sans doute mal orientée)

        Imports System.Net
        Imports System.Net.Sockets
        Imports System.Threading
        Public Class _Default
            Inherits Page
        
            Public Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
                MsgBox("loaded")
                AGE_connexion()
                MsgBox("ok")
            End Sub
        
        End Class
        
        
        
        Public Class ThreadManager
                Public MonThread As Thread
                Public Mess As Byte()
                Public Envoi As Integer
                Public MonEP As IPEndPoint
                Public AGE_Con As Boolean
        
        
            Public MonSocketClient As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
        
            Public Sub AGE_connexion()
                MsgBox("Connecting")
                Try
                    MonEP = New IPEndPoint(IPAddress.Parse("127.0.0.1"), 45435)
                    MonSocketClient.Connect(MonEP)
                    MsgBox(MonSocketClient)
                    Return
                Catch ex As Exception
                    MsgBox(MonSocketClient)
        
                    Return
                End Try
            End Sub
        
        
            Public Sub envoyer_message(message)
                    Mess = Encoding.UTF8.GetBytes(message)
                    Envoi = MonSocketClient.Send(Mess)
                End Sub
        
                Public Sub lecture()
                    MonThread = New Thread(AddressOf ThreadLecture)
                    MonThread.Start()
                End Sub
        
                Public Sub ThreadLecture()
                    While (MonSocketClient.Connected)
                        Dim Bytes(255) As Byte
                        Dim Recu As Integer
        
                        Try
                            Recu = MonSocketClient.Receive(Bytes)
                        Catch ex As Exception
                            MsgBox("Connexion perdue, arrêt de la réception des données ...", 1)
                        End Try
        
                        Dim Message As String
                        Message = System.Text.Encoding.UTF8.GetString(Bytes)
                        Message = Message.Substring(0, Recu)
                        MsgBox(Message)
                    End While
                End Sub
            End Class 

        0
        1. je ne peux pas modifier la publication ...

          (l'adresse mail est toujours présente dans la signature, même après avoir quitté et être revenu sur me site)
          0