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

Résolu
nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011 - 16 juin 2007 à 18:10
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 - 17 juin 2007 à 18:19
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

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

Redman
0
nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011
17 juin 2007 à 16:29
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...
0
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
17 juin 2007 à 17:45
à la place de Ctype(item, String) => tout simplement item.ToString ...
0
nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011
17 juin 2007 à 17:48
j'ai deja essayé....même resultat : system.string[] 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
17 juin 2007 à 17:51
New delAddItem(AddressOf AddItem).ToString : ptt que ça marchera (je comprend pas très bien le code dsl)
0
nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011
17 juin 2007 à 18:17
Ca marche merci bien tt le monde!!
0
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
17 juin 2007 à 18:19
a ça retourné 1 tableau -_-'

++
0
Rejoignez-nous