J'ai un exécutable de serveur COM hors processus qui a été développé à l'aide de Visual Studio 6.0 et fonctionne correctement depuis 10 ans . Maintenant, j'ai converti ce projet en Visual Studio 2010 et j'ai rencontré un problème avec GetInterfaceFromGlobal().L'appel GetInterfaceFromGlobal() échoue avec un serveur COM hors processus dans Visual Studio 2010
J'utilise le GIT pour contenir des pointeurs IDispatch à chacun de mes clients COM afin que je puisse leur envoyer des événements à partir du serveur COM hors processus. Après le débogage, la raison pour laquelle j'ai découvert est que le non. des connexions renvoyées par m_vec.Getsize() vient comme 4 au lieu de 1. Même si je n'ajoute qu'un seul client, la valeur arrive comme 4. J'ai vérifié ATLCOM.h et dans ce fichier _DEFAULT_VECTORLENGTH est passé de 1 à 4 dans le versions récentes.
#ifndef _DEFAULT_VECTORLENGTH
#define _DEFAULT_VECTORLENGTH 4
#endif
Un conseil sur la façon dont je peux remplacer cette valeur? Dois-je simplement redéfinir ceci à 1 dans mon code? Cela aurait-il des effets secondaires? ou est-ce que je manque quelque chose?
Merci à l'avance Harish
Pourquoi ne pas utiliser un vecteur STL? – Puppy