IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

problème appel de procédure


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    webmaster retraité
    Inscrit en
    Juillet 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : webmaster retraité

    Informations forums :
    Inscription : Juillet 2020
    Messages : 11
    Par défaut problème appel de procédure
    Bonjour,

    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    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
    End Sub
     
       Public Class ThreadManager
       Public MonThread As Thread
       Public Mess As Byte()
       Public Envoi As Integer
       Public MonEP As IPEndPoint
     
       Public MonSocketClient As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
       AGE_connexion()
     
       Public Sub AGE_connexion()
          Try
             MonEP = New IPEndPoint(IPAddress.Parse("127.0.0.1"), 45435)
             MonSocketClient.Connect(MonEP)
             Return
         Catch ex As Exception
            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
     
    End Class

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,
    Est-ce normal d'écrire une procédure comme une fonction (avec return) et de l'utiliser comme une procédure ?
    ...

  3. #3
    Membre averti
    Homme Profil pro
    webmaster retraité
    Inscrit en
    Juillet 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : webmaster retraité

    Informations forums :
    Inscription : Juillet 2020
    Messages : 11
    Par défaut
    bonne question ..... ???? (je répète je suis débutant avec la POO et VB)

  4. #4
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    T'énerve pas ...
    Vois- tu, le niveau du code que tu abordes ne me semble pas cohérent avec la méconnaissance des procédures et fonctions.
    Soit,si tu es à ce point débutant, intéresse-toi aux fondamentaux de la programmation procédurale avant la POO.
    Tu recevras sûrement des avis contraires, mais c'est une erreur d'oublier que les méthodes de la POO sont écrites en procédural. Et, il est évident que ton problème actuel vient de cette méconnaissance.
    Bonne soirée

  5. #5
    Membre averti
    Homme Profil pro
    webmaster retraité
    Inscrit en
    Juillet 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : webmaster retraité

    Informations forums :
    Inscription : Juillet 2020
    Messages : 11
    Par défaut
    je vais me tourner vers JavaScript, langage avec lequel j'ai plus de 20 années d'expérience

    Bonne soirée

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Mars 2011
    Messages : 109
    Par défaut
    Bonjour,

    Ça aussi provoque la même erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Public Class Form1
        Public Sub je_fais_rien()
        End Sub
     
         je_fais_rien()
    End Class
    En fait tu met un appel de procédure à la place d'une déclaration => d'où le message

    Il faut que ta procédure soit appelée par un évènement (peut être dans le Me.Load pour ton programme)

  7. #7
    Membre averti
    Homme Profil pro
    webmaster retraité
    Inscrit en
    Juillet 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : webmaster retraité

    Informations forums :
    Inscription : Juillet 2020
    Messages : 11
    Par défaut
    Il faut que ta procédure soit appelée par un évènement (peut être dans le Me.Load pour ton programme)
    Ca ne change rien :-(.

    Merci pour ton conseil

  8. #8
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    T’en dira tant …
    Tu as l’expérience de la programmation en JavaScript et ce langage dérive du C, notamment pour la syntaxe.
    Et en C, il n’y a pas de procédure, il n’y a que des fonctions qui peuvent (voire doivent) contenir des points de retour exprimés par les return.
    Alors je comprends que tu ne fasses pas la différence entre procédure et fonction en VB.
    Pour passer en DotNet, peut-être aurais-tu plus facile avec C#, tu pourrais garder la syntaxe qui t’es familière, ce n’est pas rien !

    Bonne route pour la suite …

  9. #9
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 574
    Par défaut
    Bonjour,
    Le JavaScript c'est du langage spaghettis, le code est déroulé de la première lignes à la dernière !

    Ici il est interdit d'avoir une instruction, si ce n'est une déclaration {Dim variable}, en dehors du sub end sub et function end function !

  10. #10
    Membre averti
    Homme Profil pro
    webmaster retraité
    Inscrit en
    Juillet 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : webmaster retraité

    Informations forums :
    Inscription : Juillet 2020
    Messages : 11
    Par défaut
    Citation Envoyé par Thumb down Voir le message

    Ici il est interdit d'avoir une instruction, si ce n'est une déclaration {Dim variable}, en dehors du sub end sub et function end function !
    Merci, tu fais avancer mon schmilblick !!!!!

  11. #11
    Membre averti
    Homme Profil pro
    webmaster retraité
    Inscrit en
    Juillet 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : webmaster retraité

    Informations forums :
    Inscription : Juillet 2020
    Messages : 11
    Par défaut
    Merci, j'ai donc placé l'appel dans les sub de gestion de l'événement PageLoaded. Cela fonctionne et la connexion s'établit ... le souci est que la page ne s'affiche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Public Sub Page_Loaded(ByVal sender As Object, ByVal e As EventArgs) Handles Me.LoadComplete
             Dim AGE_Th As New ThreadManager
            'AGE_Th.AGE_connexion()
        End Sub
    Une idée ?

Discussions similaires

  1. problème appel de procédure (type incompatible)
    Par pickanier dans le forum VBA Word
    Réponses: 5
    Dernier message: 04/04/2011, 14h53
  2. Réponses: 1
    Dernier message: 10/10/2008, 10h50
  3. Problème à l'appel de procédure
    Par yomgdf dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/06/2008, 14h51
  4. Problème d'appel à une procédure stockée
    Par champijulie dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/09/2007, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo