Bonjour,
J'avais un besoin d'une petite boite de dialog avec une progress bar.
En chargeant sur CodeProject, j'ai trouvé le truc parfait : Using the IE 5 built-in progress dialog
Complètement intégrer avec Windows, apparemment qui fonctionne avec tous les OS. Et en plus c'est assez joli, ça bouge tout seul.
Bref, je l'ai intégré à mon soft sous VC9 et Vista et tout fonctionne correctement.
Cependant je suis passé en phase de tests juste avant la livraison et là c'est le drame.
Toutes les machines sous XP, pose problème. Je suis remonté au problème et ça vient de là:
Le "hr" ne retourne pas une valeur correcte. Et c'est la merde.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 hr = CoCreateInstance ( CLSID_ProgressDialog, NULL, CLSCTX_INPROC_SERVER, IID_IProgressDialog, (void**) &m_pIDlg );
Vu que je ne comprennais pas le problème je me suis mis à chercher le code d'erreur mais je ne le trouve pas. J'ai cherché mais là encore c'est pas bon.
Je tombe à chaque fois sur le message "CSHProgressWnd - CoCreateInstance : Error ???".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 if ( hr == REGDB_E_CLASSNOTREG ) { AfxMessageBox ( _T("CSHProgressWnd - CoCreateInstance : Error REGDB_E_CLASSNOTREG") ); } else if ( hr == CLASS_E_NOAGGREGATION ) { AfxMessageBox ( _T("CSHProgressWnd - CoCreateInstance : Error CLASS_E_NOAGGREGATION") ); } else if ( hr == E_NOINTERFACE ) { AfxMessageBox ( _T("CSHProgressWnd - CoCreateInstance : Error E_NOINTERFACE ") ); } else if ( hr == E_UNEXPECTED ) { AfxMessageBox ( _T("CSHProgressWnd - CoCreateInstance : Error E_NOINTERFACE ") ); } else if ( hr == E_OUTOFMEMORY ) { AfxMessageBox ( _T("CSHProgressWnd - CoCreateInstance : Error E_NOINTERFACE ") ); } else if ( hr == E_INVALIDARG ) { AfxMessageBox ( _T("CSHProgressWnd - CoCreateInstance : Error E_NOINTERFACE ") ); } else { AfxMessageBox ( _T("CSHProgressWnd - CoCreateInstance : Error ???") ); }
Là j'ai besoin d'aide.
Merci d'avance
Partager