blq
Messages postés97Date d'inscriptionvendredi 22 octobre 1999StatutMembreDernière intervention13 juin 20161 18 sept. 2011 à 17:17
Il y a encore certains points sur le Thread qui m’échappent pour mon niveau de débutant, mais je me suis inspiré de ce code pour faire un passage de multiples arguments à une fonction exécutée en Thread. Merci donc pour cet exemple qui mériterait tout de même plus de détails en explication.
Il y a par exemple l'appel : Dim result As InfoThread = tmp.EndInvoke("tmp", ar)
Je comprend que la première variable corresponde à la fonction TestDelegateSimple, mais "tmp" semble ne servir à rien ?
C'est une bonne interrogation dans mon cas, car ma fonction Delegate utilise plusieurs paramètres et dans mon programme l'équivalent ne nécessite que : Dim result As InfoThread = tmp.EndInvoke(ar)
Si je supprime "tmp" dans ton code, j'ai bien évidement une erreur. Il y a donc un point qui m'a échappé dans mon code qui ne génère pas d'erreur...
Dernier point, dans mon cas VB Express 2010, la fonction plante en fin de traitement sur :
Me.Label1.Text += vbCrLf + "IsCompleted : " ...
Label1 n'est pas accessible et ne fait pas partie du Thread. Pourquoi ?... Mes connaissances ne sont pas assez bonnes pour y répondre, mais ce n'est pas l'essentiel, si on souhaite juste appréhender le lancement du Thread avec paramètres.
Il me reste à trouver le moyen de faire attendre un Thread à la libération d'une ressource commune... J'aurais surtout besoin d'un bon Tuto dans ce domaine. je vais chercher dans les autres sources :-)
18 sept. 2011 à 17:17
Il y a par exemple l'appel : Dim result As InfoThread = tmp.EndInvoke("tmp", ar)
Je comprend que la première variable corresponde à la fonction TestDelegateSimple, mais "tmp" semble ne servir à rien ?
C'est une bonne interrogation dans mon cas, car ma fonction Delegate utilise plusieurs paramètres et dans mon programme l'équivalent ne nécessite que : Dim result As InfoThread = tmp.EndInvoke(ar)
Si je supprime "tmp" dans ton code, j'ai bien évidement une erreur. Il y a donc un point qui m'a échappé dans mon code qui ne génère pas d'erreur...
Dernier point, dans mon cas VB Express 2010, la fonction plante en fin de traitement sur :
Me.Label1.Text += vbCrLf + "IsCompleted : " ...
Label1 n'est pas accessible et ne fait pas partie du Thread. Pourquoi ?... Mes connaissances ne sont pas assez bonnes pour y répondre, mais ce n'est pas l'essentiel, si on souhaite juste appréhender le lancement du Thread avec paramètres.
Il me reste à trouver le moyen de faire attendre un Thread à la libération d'une ressource commune... J'aurais surtout besoin d'un bon Tuto dans ce domaine. je vais chercher dans les autres sources :-)