PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → TâcheParallèle d'une procédure d'un composant externe
TâcheParallèle d'une procédure d'un composant externe
Iniciado por Julien, 28,ene. 2020 16:47 - 3 respuestas
Miembro registrado
18 mensajes
Publicado el 28,enero 2020 - 16:47
Bonjour,

J'aimerai exécuter une tâche parallèle sur une procédure d'un de mes composants externes.
Aucun soucis dans l'éditeur de code.
Mais à l'exécution, j'ai une erreur me disant que ma procédure est inconnue :(

Code utilisé :
d est une Description de TâcheParallèle
d..Procédure = MonComposant.MaCollectionProcédureGlobale.MaProcédure
d..Paramètre[1] = Upper(CLIENT)
d..Paramètre[2] = NUMERO

t est une TâcheParallèle = TâcheParallèleExécute(d)
TâcheParallèleAttend( t )

SAI_Nombre_Résultat= t..ValeurRenvoyée

Evidemment, si j'exécute directement la procédure sans passer par une tâche parallèle, ça fonctionne très bien, mais comme c'est un long traitement, c'est dommage.

Est-ce que je m'y prends mal ou est-ce normal (si oui, besoin d'une explication) ?


Un grand merci d'avance
Miembro registrado
18 mensajes
Publicado el 28,enero 2020 - 16:57
Je dirai même plus, je viens de faire un essai avec ThreadExécute, même histoire :(

ThreadExecute( "MonThread", threadNormal , MonComposant.MaCollectionProcédureGlobale.MaProcédure , Upper(CLIENT) , NUMERO)
TANTQUE ThreadEtat( "MonThread" ) <> threadInexistant
Multitâche(-1)
FIN
Miembro registrado
1.640 mensajes
Publicado el 28,enero 2020 - 17:24
Juste pour voir, si tu déporte la tache paralelle dans ton composant, ca fais quoi ?
Miembro registrado
18 mensajes
Publicado el 28,enero 2020 - 18:03
Pas bête, j'ai testé, mais ça bloque quand même mon thread principal tant que ce n'est pas fini.

Aussi testé avec une tache parallèle qui lance la procédure, mais j'ai des problèmes de contextes, donc mon résultat est totalement incohérent.

J'ai beau tourné le problème dans tous les sens, je pense que je vais juste recoder cette procédure dans mon projet (hors composant), heureusement que j'en ai la possibilité.


Si quelqu'un a encore des suggestions, n'hésitez surtout pas ;)