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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #ifdef _MERGE_PROXYSTUB ... #endif)
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
![]()
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)
Partager