Processus boite de dialogue MFC

Résolu
cs_lisandru Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 17 janvier 2006 - 29 déc. 2005 à 15:23
cs_lisandru Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 17 janvier 2006 - 29 déc. 2005 à 17:13
Bonjour,



alors voila mon problème:

- je lance une boite de dialogue modale à partir d'une autre
fenetre, et j'execute alors une scripte de copie qui me prend pas mal
de ressources.(dans un projet MFC)

Le problème c'est que j'ai implémenté une progress barre dans cette
fenetre pour visualiser le nombre de fichiers restant à copier. Lorsque
la copie se lance, si je déplace la fenetre, la mise a jour de cette
dernière ne se fait plus et il est quasiement impossible de faire quoi
que se soit sur la fenetre(déplacer, réduire),: rien ne répond.
Pourtant la copie se fait tjrs.

Comment puis-je faire pour séparer le processus et l'affichage ou bien permettre n rafraichissement plus efficace?



merci d'avance

4 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
29 déc. 2005 à 16:44
Tu passes this en paramètre de la fonction du thread, après tu le récupères et tu l'utilises:

DWORD WINAPI Classe::ThreadProc_() // pas statique
{
...
}

DWORD WINAPI Classe::ThreadProc(LPVOID lpParameter) // statique
{
return ((Classe*)lpParameter)->ThreadProc_();
}
...
DWORD dwID;
CreateThread(0, 0, &ThreadProc, this, 0, &dwID);
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
29 déc. 2005 à 15:31
Créer un thread qui sera chargé de faire la copie. Tu le créer avec CreateThread. Si tu es dans une classe, tu dois donner une méthode statique pour le nom de la routine
0
cs_lisandru Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 17 janvier 2006
29 déc. 2005 à 16:39
Problème,



je suis en effet dans une classe, et je fais appel à de nombreuse fonctions dans ma fonction principale du thread.

Le compilo me refuse la compilation dans la mesure ou les autres fonctions et variables ne sont pas statiques
0
cs_lisandru Messages postés 14 Date d'inscription vendredi 25 mars 2005 Statut Membre Dernière intervention 17 janvier 2006
29 déc. 2005 à 17:13
Merci de ton aide précieuse!!!!!!
0
Rejoignez-nous