Bonjour,
J'ai un probl�me avec mon application.
J'ai cr�� un process qui indexe un fichier MPEG2. Malheureusement, cela prend plusieurs dizaines de minutes et demande 100 % du processeur. L'utilisateur peut suivre l'�volution de son indexation gr�ce � une progress bar dans la barre d'�tat mais ne doit en aucun cas toucher son interface. Le probl�me est que s'il clique quand m�me avec sa souris ou s'il change d'application (perte de focus), le programme perd son menu principal (barre blanche), la progress bar est stopp�e et le programme ne r�pond plus. Le programme tourne toujours mais l'interface est morte.
J'ai essay� dans un premier temps de rendre l'interface disable : AfxGetMainWnd->EnableWindow(FALSE) puis de la rafraichir de temps en temps : AfxGetMainWnd->UpdateWindow().
Ce proc�d� fonctionne tr�s bien en debug et en release. Malheureusement, son utilisation ne donne absolument rien (comme si le code �tait inexistant) lorsque je lance directement l'ex�cutable dans le r�pertoire "Release".
J'utilise Visual .NET 2003.
J'ai aussi essay� de threader mon appli pour avoir un peu plus de ressource proc.
Ce que je ne comprends pas, c'est ce proc�d� qui fonctionne en release avec visual mais pas en double cliquant directement sur l'exe.
J'ai l'impression qu'alors, tous les messages de rafraichissement son bloqu�s.
Auriez vous une solution pour moi ou une fa�on de forcer les messages de rafraichissement?
Merci d'avance
Partager