TRAITEMENT ASYNCHRONE : EXEMPLE DE FUNCTION DELEGATE AVEC PASSAGE DE PARAMÊTRES

Messages postés
98
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
- - Dernière réponse : blq
Messages postés
98
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
- 18 sept. 2011 à 17:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

http://codes-sources.commentcamarche.net/source/28041-traitement-asynchrone-exemple-de-function-delegate-avec-passage-de-parametres

Afficher la suite 
blq
Messages postés
98
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
-
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 :-)
Commenter la réponse de blq