[VC++6] [DLL] Allow merging of proxi/stub code ?
bonjour a tous,
j'ai un souci avec les dll sous VC++6.
j'ai repris un programme existant qui possede
les fonctions de base comme
Code:
1 2 3 4 5
| STDAPI DllRegisterServer(void)
{
// registers object, typelib and all interfaces in typelib
return _Module.RegisterServer(TRUE);
} |
...
seulement voila j'ai un souci, tout ce passe bien sauf que toutes les interfaces ne sont pas inscrites dans la base de registre :?
en parallele j'ai un autre programme de dll qui fonctionne par contre tres bien a 100% et ses fonctions de bases sont comme cela:
Code:
1 2 3 4 5 6 7 8 9 10
| STDAPI DllRegisterServer(void)
{
#ifdef _MERGE_PROXYSTUB
HRESULT hRes = PrxDllRegisterServer();
if (FAILED(hRes))
return hRes;
#endif
// registers object, typelib and all interfaces in typelib
return _Module.RegisterServer(TRUE);
} |
on a remarqu� que ce code en plus, par rapport a celui precedent, est due au cochage d'une option dans la cr�ation du projet:
new->project->ATL COM Wizard
sur le panneau suivant j'ai une option qui est Allow merging of proxi/stub code
http://www.microsoft.com/msj/1097/visualprogfig01.gif
donc si on coche cette option tout va bien sinon tout n'est pas inscrit en base de registre.
mon objectif est de savoir � quoi correspond cette option qui cr�e des fichiers suppl�mentaires (dlldata.c et .h) et rajoute du code
Code:
1 2 3
| #ifdef _MERGE_PROXYSTUB
...
#endif |
le projet bugg� est bien trop gros pour etre repris de A � Z et le fait de rajouter les lignes de code juste en comparant les deux projets ca ne marche pas (surement plein de chose dans les options de visual � modifi�es :( )
alors comment faire pour sp�cifier en cour de route � visual de g�n�rer tout ce qui correspond a cette option � cocher ???
je suis en train de me perdre dans les MIDL... comment g�n�rer ces fichiers dlldata?
� l'aide
:help:
merci d'avance. (je precise que j'ai tres tres peu de connaissance sur les dll car je debute sur ce genre de chose mais comme c'est du code que j'ai r�cup�r� et qui fait ce que j'attend je ne peut pas m'en passer sans devoir perdre vraiment beaucoup de temps tellement c'est gros)