Listbox veut pas se remplir ds Thread (vb.net)

[Résolu]
Signaler
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011
-
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
-
Bonjour à tous les serials codeur, j'ai un petit souçis avec un mechant thread ou une mechante form... je précise je suis un débutant, alors un peu d'indulgence SVP ^^...

Voila mon code: (partie problématique en rose)

Public Class Form1
    Inherits System.Windows.Forms.Form

'.......................... code de la forme ..............................'
:....
:....
:....

'...........................code de la thread.............................'

#Region "Thread Ping"

    'premier Thread de Ping
    Private _threadPing1 As Thread
    ' Evénement pour signaler la fin des threads de Ping
    Private _endThreadPingEvent As New ManualResetEvent(False)

    'Classe ThreadPing
    Private Class ThreadPing

        'form parente
        Private _frm As Form1
        'temporisation
        Private _tempo As Integer

        Private _ipthread As String() = New String(131072) {}

        Private _SetIP As Single

        'Constructeur. frm et tempo sont les paramètres de notre Thread
        Public Sub New(ByVal frm As Form1, ByVal tempo As Integer, ByVal ipthread As String(), ByVal setip As Single)
            _frm = frm
            _tempo = tempo
            _ipthread = ipthread
            _SetIP = setip
        End Sub

        'Fonction du Thread
        Public Sub ThrFunc()
            Try
                _frm.Ping(_ipthread, _tempo, _SetIP)
            Catch ex As Exception
                Debug.WriteLine(ex.ToString())
            End Try
        End Sub

    End Class

    'Démarrage du thread
    Private Sub StartThread(ByVal ip As String(), ByVal Setip As Single)

        Dim myThreadObj As New ThreadPing(Me, 1000, ip, Setip)
        _threadPing1 = New Thread(AddressOf myThreadObj.ThrFunc)
        _threadPing1.Name = "ThreadPing"
        _threadPing1.Start()

    End Sub

Partie problématique...:

    Function Ping(ByVal ip As String(), ByVal tempo As Integer, ByVal PosTabIp As Integer) As Boolean
        While Not _endThreadPingEvent.WaitOne(tempo, False)
            For index As Integer = 0 To PosTabIp
                Dim siteResponds As Boolean = False                If (siteResponds My.Computer.Network.Ping(ip(index))) False Then
                    Me.ListBox1.Items.Add(ip)
                    Me.Update()
                Else
                    Me.ListBox2.Items.Add(ip)       //lorsque la thread arrive ici elle va direct sur "Catch ex As Exception" et je sort de la fonction...
                    Me.Update()
                End If
            Next
        End While
    End Function
#End Region
End Class

Voilà, je sais vraiment pas le pourquoi ca fait ca . en fait je veut ke quand le ping de l'adresse ip est true qu'il aille s'inscrire ds une listbox de la form et sinon ds l'autre listbox de la même forme ...

Ah oui et la variable TEMPO, je sais pas du tout a koi elle sert, G trouvé le code de la thread sur un forum... donc en même temps si vous connaissez son utilité, j'aimerais savoir.

Donc si vraiment quelqu'un pouvait m'aider ce serait fort agréable pakeu je péte les plombs de pas comprendre...

Merci a vooooous... bonne continuation

27 réponses

Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
Ah non je suis bête 1 c'est la valeur pour instancier le tableau, je l'avais compris différement ^^

Redman
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011

Je suis vraiment dsl mais... avec ce remplacement ca retourne ds le "catch ex as exception" alors la je comprend plus rien.. je suis desespéré lol...
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
à la place de Ctype(item, String) => tout simplement item.ToString ...
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011

j'ai deja essayé....même resultat : system.string[] 
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
New delAddItem(AddressOf AddItem).ToString : ptt que ça marchera (je comprend pas très bien le code dsl)
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011

Ca marche merci bien tt le monde!!
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
a ça retourné 1 tableau -_-'

++