Je dois implémenter un objet COM bare-bone en C++ (non ATL) utilisé par une application Web héritée pour vérifier que mon application existe. L'application Web fait quelque chose comme ça (JavaScript):Implémentation d'un objet COM bare-bones
var object = new ActiveXObject("My.Application");
Je veux faire en sorte que le réussit ci-dessus mais c'est tout ce que je dois faire - je ne ai pas besoin de mettre en œuvre des méthodes/propriétés sur cet objet comme ils ne sont jamais appelés. De toute évidence, je dois m'assurer que mon objet est enregistré en ajoutant les paramètres de registre nécessaires, etc Mon application est une DLL, donc je suppose que je dois également implémenter une poignée de fonctions exportées (DllRegisterServer, DllUnregisterServer, DllCanUnloadNow et, le celui qui doit donc quelque chose, DllGetClassObject).
Je suis assez sûr que simplement retourner S_OK de DllGetClassObject ne le coupera pas.
Comment puis-je implémenter une interface de base sans utiliser ATL? J'utilise le compilateur MS si cela aide.
Pourquoi exactement ne voulez-vous pas ATL? – sharptooth
C'est une dépendance qu'on m'a dit de ne pas utiliser. Hors de mes mains, j'ai peur. – Rob
C'est réducteur. Vous pouvez lier statiquement à ATL de sorte que vous n'avez pas besoin de transporter ATL.dll autour - et personne ne le verra même ** et ** il vous fera économiser une tonne de temps et de bugs. Votre meilleur meilleur est de négocier l'utilisation d'ATL. – sharptooth