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 :

Sub d'une classe à une autre


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 55
    Points : 41
    Points
    41
    Par défaut Sub d'une classe à une autre
    Bonjour a tous , je viens d'arriver sur le forum suite à un soucis que j'aimerais résoudre:
    Depuis quelques jour j'essai de faire un client et un serveur connectés via le protocole TCP , j'utilise pour cela une classe trouvée sur la toile.
    Pour l'instant sa marche correctement, la connexion entre mon client et mon serveur se fait sans soucis, lorsque le serveur est lancé il est affiché dans un listview du client.
    A l'inverse , lorsque le serveur est éteint j'aimerai que le client l’enlève du listview.
    Pour cela j'ai essayer de décortiquer le sub concerné pour trouver ou la déconnection est détectée et j'ai trouvé qu'il s'agit de l'exception, seulement lorsque je veux que l'exception execute un sub de la classe Form1, cela ne marche pas.



    voila le sub de la classe
    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
     ' This is the callback function for TcpClient.GetStream.Begin. It begins an 
        ' asynchronous read from a stream.
        Private Sub StreamReceiver(ByVal ar As IAsyncResult)
            Dim BytesRead As Integer
            Dim strMessage As String
    
            Try
                ' Ensure that no other threads try to use the stream at the same time.
                SyncLock client.GetStream
                    ' Finish asynchronous read into readBuffer and get number of bytes read.
                    BytesRead = client.GetStream.EndRead(ar)
                End SyncLock
    
                ' Convert the byte array the message was saved into, minus one for the
                ' Chr(13).
                strMessage = Encoding.ASCII.GetString(readBuffer, 0, BytesRead - 1)
    
                RaiseEvent LineReceived(Me, strMessage)
    
                ' Ensure that no other threads try to use the stream at the same time.
                SyncLock client.GetStream
                    ' Start a new asynchronous read into readBuffer.
                    client.GetStream.BeginRead(readBuffer, 0, READ_BUFFER_SIZE, AddressOf StreamReceiver, Nothing)
                End SyncLock
    
            Catch e As Exception
                Dim testing As New Form1
                testing.essai(BytesRead)
                ' MsgBox(e.Message)
            End Try
        End Sub
    et voici le sub en question a éxecuter dans la classe principale du programme (Form1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Public Sub essai(ByVal bytes As Integer)
            ListView1.Items.Item(bytes).Remove()
        End Sub
    Merci par avance de m'aider a comprendre mon erreur, n'hésitez pas a me dire si ce n'est pas tres claire, je ne maitrise pas vraiment le vocabulaire approrié...

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Bonjour,

    ce que vous faites :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Vous créez une nouvelle fenêtre avec comme structure Form1
    Dim testing As New Form1
     
    'Vous lancez dans cette fenêtre une procédure
    testing.essai(BytesRead)
    je suppose que vous voulez lancer la procédure non pas dans une nouvelle fenêtre, mais dans une fenêtre déjà ouverte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Vous récupérez la fenêtre ouverte dans votre application qui a comme nom "Form1", vous spécifiez que c'est une fenêtre de type Form1, et vous lancez la procédure essai
    Ctype(My.Application.OpenForms("Form1"), Form1).essai
    Le Porc est un loup pour le Porc.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Bonjour asmduty,
    Je te remercie je désespérai

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter une classe à une classe
    Par benooo dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 05/02/2014, 18h22
  2. passage d'une classe à une autre
    Par Gibou dans le forum C++
    Réponses: 17
    Dernier message: 18/06/2006, 15h14
  3. Passer une variable d'une classe à l'autre
    Par Gibou dans le forum C++
    Réponses: 2
    Dernier message: 16/06/2006, 08h38
  4. Réponses: 8
    Dernier message: 04/04/2006, 17h29
  5. Passage de paramètre d'une classe à une autre
    Par semenzato dans le forum C++
    Réponses: 3
    Dernier message: 21/09/2005, 13h59

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