PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → ExecuteThreadPrincipal, pas le même tid
ExecuteThreadPrincipal, pas le même tid
Iniciado por Thierry, 06,ago. 2019 05:18 - 2 respuestas
Miembro registrado
7 mensajes
Publicado el 06,agosto 2019 - 05:18
J’appelle plusieurs fois la fonction ExecuteThreadPrincipal et je m'attends à ce que ce soit à chaque fois le même thread.
Je constate que ce n'est pas le cas.
Si j'appelle la fonction ExeDonnePID(exePID) j'ai bien le même process id.
Si par contre j'appelle la fonction ExeDonnePID(exeTID) j'ai un id différent.

Et donc si je crée un graphe avec l'interface graphique et que j'envoie des données depuis un autre thread mais en appelant ExecuteThreadPrincipal, le graphe n'est pas connu !

Comment faire ?
Je dois créé un graphe avec l'interface graphique (bouton, etc.) et je dois lui envoyer des données depuis un thread.
Pour les deux fonction j'appelle ExecuteThreadPrincipal.

Merci pour votre aide !
Meilleures salutations
Thierry Vorms
Miembro registrado
1.640 mensajes
Publicado el 06,agosto 2019 - 09:35
Hello,

J'avoue ne pas avoir bien compris ton problème.
ExecuteThreadPrincipal() te permet en effet de donner la main au thread principal afin de manipuler l'IHM.

Un exemple :
ExecuteThreadPrincipal(procRempliGraphe,VarDataGraph)

ProcRempliGraph est ta procédure qui a acces a l'IHM.
VarDataGraph est la variable contenant les données du graph.

Ca devrait marcher ainsi, procRempliGraphe aura donc une copie des données générée par ton Thread secondaire.
Miembro registrado
7 mensajes
Publicado el 06,agosto 2019 - 15:26
Bonjour et merci pour ta réponse.
Je reçois des caractères par une ligne série et donc pas le même thread que le thread principale pour le graphisme.
A l'appui sur un bouton je crée un graphe par programmation.
De ma ligne série j'alimente le graphe.
Des deux cotés j’exécute le code a travers un appel a ExeccuteThreadPrincipal.
Il semblerait que malgré cela, ce n'est pas le même contexte et j'ai des messages du genre "graphe non créé, utilise grCrée"
Je suis vraiment bloqué...
Merci de ton aide..
Thierry