begin process at 2012 05 30 13:49:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Les Thread et les Windows Form


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Les Thread et les Windows Form

jeudi 20 avril 2006 à 16:08:40 | Les Thread et les Windows Form

Zerratul

Bonjour, je dévelloppe une application basé sur des Windows Form sous Visual C++ 2005 Express. Pour le moment, je souhaite juste apprendre comment créer des Threads qui vont réaliser un travail simple : Compter. Autrement dit, j'ai crée un projet vierge composé d'une seule fenêtre nommée Form1. A cette fenêtre j'ajoute quelques éléments graphiques, deux textLabel (nommés label1 et label2) et un bouton.
Mon objectif est simple, je veux que deux thread différents comptent jusqu'à 10 à des vitesse différentes, et que ce comptage soit visible sur les deux textLabel. Autrement dit un premier thread compte jusqu'à 10 en mettant à jour le label1 toutes les secondes et une second thread va compter jusqu'à 10 en mettant à jour label2.

Jusque-là pas de problèmes. Mais je suis confronté à un problème assez agaçant. En effet, le thread 0 compte sans problèmes et met à jour le label 1 comme prévu. Mais quand je crée le deuxième thread, je suis obligé de faire appel à une fonction statique (c'est obligé, d'après la msdn). Le problème étant que dans cette fonction statique, il m'est impossible de mettre à jour ou d'utiliser des éléments graphiques comme des textLabel qui sont, à l'instar de tous les élements graphiques de la fenêtre, crées dynamiquement.

Au final, ma question serait en fait : Est-ce qu'il est possible de créer des threads qui pourraient interragir avec des éléments graphique d'une Windows Form ?

J'ai essayé d'être le plus clair possible, mais étant un débutant dans le domaine (étudiant), c'est pas forcément évident.

Merci d'avance pour votre future aide, vos pistes ou vos conseils

jeudi 27 avril 2006 à 10:55:25 | Re : Les Thread et les Windows Form

Zerratul

Personne ne peux m'aider ?

jeudi 27 avril 2006 à 12:45:00 | Re : Les Thread et les Windows Form

olbal

Membre Club
Je connais pas du tout VC++2005 mais au pire, rien t'empéche une fois l'initialisation de ta fenêtre terminée, de copier dans des variables statiques les pointeurs qui t'interessent pour pouvoir les utiliser ton ta fonction statique.Il faut bien faire attention à que ces pointeurs ne changent pas pendant que le thread tourne ou alors prèvoir un système de synchro. Il faut aussi être sur que le thread soit terminé avant de détruire la fenêtre...
Si la fonction de creation de thread ressemble à celle de l'API windows, elle doit permettre de passer un pointeur à la fonction statique de type void*, tu peux alors passer par exemple soit l'adresse de l'objet qui gère la fenêtre ou l'adresse d'une structure qui contient les pointeurs qui t'interesse est cela sera plus propre et plus réutilisable que de faire ça avec des variables statiques.
Mais avant tout, est tu sur que les fonctions des objets graphiques peuvent être appelées depuis un autre endroit que le thread principale de l'application? Avec les fonctions natives de windows (par ex SetWindowText) pas de problème, mais c'est pas dit que ça soit pareil avec ta librairie d'objets.


Cette discussion est classée dans : form, windows, jour, fenêtre, thread


Répondre à ce message

Sujets en rapport avec ce message

Créer un lien sous fenêtre windows [ par JMGR ] Comment peut - on créer un lien vers un site sous une fenêtre Windows ?(avec les MFC par ex.)a+ Fenêtre OpenGL sous Windows et maillage en cpp [ par keziah23li98 ] Salut,Cela fait quelques temps qu'avec un collègue nous avons mis au point des algorithmes d'optimisation surfacique de maillage 3D. Seulement l'utili Maximiser une fenêtre sans windows. [ par AlexMAN ] Re all, En ce moment, j'ai pas mal de pb comme vous avez pu le remaquer sur le forum, donc voilà, encore une question : Comment puis je faire pour max Capture d'événement fenêtre sous windows [ par annplop ] Bonjour,le réalise une application pilotant une autre application cette dernière envoie des fenêtres que je souhaiterais capturer, ensuite je souhaite Comment créer une fenêtre Windows [ par lebarn ] Bonmatin, bonaprèsmidi, bonsoir, bonnuit, bonmidi, etc ...Comment peut-on créer un fenêtre Windows ? Car j'ai de nombreux problème et je ne comprends activation fenêtre après lancement automatique sous windows 2000 [ par polkas ] Bonjour,Je développe un Ecran de Veille demandant un Password qui peut être activer par l ' utilisateur ou lancer automatiquement sous Windows 2000Pro Recopier une zone mémoire dans une fenêtre windows [ par brosse_adan ] Bonjour à tous!mon sujet était peut-être pas super bien choisi, mais bon, j'avais pas mieux... et en plus, mon pb est compliqué à exposer!! :)voilà, j Comment faire une form windows en devc++: [ par phpman ] Bonjour,Comment faire une form windows en devc++ et ausi des bouttons.J'arrive a generer la form mais j'arrive pas a y ecrire dessu. Threads 2, le retour! [ par goondy ] Bon, grace a vecchio56, j'ai pu claquer mon thread comme il fallait (cf http://cppfrance.com/forum.v2.aspx?ID=349494&nb=9).J'explique le truc : j'ai u Fenêtre d'application windows [ par Degue39 ] SALUT TT LE MONDEJe voudrai faire, dans Dev C++, dans une fenêtre windows : un formulaire Mai je n'arrive pas à paramètrer le remplissage de la fenêtr


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales