Thread blem...

Résolu
Marko007
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009
- 22 sept. 2008 à 09:49
cs_Willi
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
- 1 oct. 2008 à 16:53
Bonjour,

j'ai ce message d'erreur :

Opération inter-threads non valide : le contrôle 'LblThread' a fait l'objet d'un accès à partir d'un thread autre que
celui sur lequel il a été créé

Des idées ?

Marco

7 réponses

cs_Willi
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
23 sept. 2008 à 10:41
>> Comment repasser le trd1 en RUNNING et trd2 en UNSTARTED (A part couper la tâche ;o))
Vérifie l'état de tes threads si ils ne sont pas suspendus ou en cours d'execution puis redéfinit une nouvelle instance du thread que tu as à "relancer".

++
3
Marko007
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

1 oct. 2008 à 15:33
Solution : boucles pour les deux threads ;o)

Do
.
...
....
Loop

Merci,
Marco
3
cs_Willi
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
22 sept. 2008 à 10:05
Bonjour,
Le contrôle LblThread a été crée dans le thread principal.
Hors tu veux modifier une de ses propriétés (j'imagine .Text) à partir d'un autre thread  !
Passe par les délégués si tu veux modifier tes contrôles !
Regarde par ici http://www.vbfrance.com/forum/sujet-MODIFICATION-TEXTBOX-PARTIR-AUTRE-THREAD_902539.aspx :)

++
0
Marko007
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

22 sept. 2008 à 13:00
Ok,

depuis j'ai une autre erreur :

Le thread est en cours d'exécution ou arrêté ; il ne peut pas redémarrer.

Le thread est en statut "Stopped", mais je n'arrive pas à le re-démarrer... Des idées ?

Merci,
Marco
0

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

Posez votre question
cs_Willi
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
22 sept. 2008 à 20:32
Comment démarres-tu ton nouveau thread ? Comment s'arrête t-il ? Peux-tu fournir le bout de code que tu utilises stp.
0
Marko007
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

23 sept. 2008 à 09:15
Ce n'est pas un nouveau thread, c'est un thread trd1 existant qui est en statut "Stopped"...
Que je souhaite passer en "Running"...

Private trd1 As New Thread(AddressOf ThreadConn)
Private trd2 As New Thread(AddressOf ThreadData)
Dim Thrdata As [String] = Nothing
Dim Thrconn As [String] = Nothing

Load de la form
trd1.Start()

Sub ThreadConn()
If TcpServer.Pending <> True Then

  tcpClientConnect = TcpServer.AcceptTcpClient
 Try
 stream = tcpClientConnect.GetStream()
  trd2.Start()
 Catch ex As Exception
 End Try

End If

Sub ThreadData()
.....

Voici le cycle :

Au démarrage = trd1 est RUNNING, trd2 est UNSTARTED
Action utilisateur (Connexion TELNET) = trd1 est STOPPED, trd2 est RUNNING

Comment repasser le trd1 en RUNNING et trd2 en UNSTARTED (A part couper la tâche ;o))

Merci,
Marco
0
cs_Willi
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
1 oct. 2008 à 16:53
Comment sa boucles pour les 2 threads ? Tu gardes tes threads ouverts par l'intermèdiaire de boucles à l'intérieur ?
0