2010-11-01 32 views
-1

J'apprends à travailler avec l'API MSN Messenger. Après avoir ajouté le fichier tlb et copié/collé un exemple de code, j'ai remarqué que dans l'IDE de Visual C++, il s'agissait d'un identificateur non défini.Erreur Visual C++: "Identifier" IMSNMessenger "n'est pas défini" - après avoir ajouté le fichier tlb

Bien qu'une fois que je compile le code, tout fonctionne bien.

Je vois le problème: Le problème est que l'IDE (l'IntelliSense, plus précisément) ne reconnaît aucun des éléments à l'intérieur du fichier tlb.

Cependant, le compilateur le fait!

J'ai ajouté le fichier TLB en tant que tel:

#import "MSNMessengerAPI.tlb" named_guids, no_namespace 

Toutes les idées ici? Merci!

Edit: puis-je ajouter que l'EDI ne reconnaît les éléments suivants:

MSNMessenger::IMSNMessenger 

Mais pas seulement

IMSNMessenger 

Répondre

1

Eh bien, il ne devrait pas reconnaître MSNMessenger ::, vous avez utilisé le no_namespace attribut sur la directive # import. Prenant une conjecture sauvage, peut-être vous avez commencé ce premier sans attribut et l'analyseur IntelliSense n'est pas assez intelligent pour reconnaître que vous l'avez changé.

Fermez votre solution et supprimez le fichier .ncb dans le répertoire du projet. .sdf pour VS2010. Ouvrez-le, l'analyseur IS reconstruira le fichier.

+0

Il a effectivement travaillé après quelques essais, je ne sais pas comment, je n'ai même pas fermé le projet, il a tout à coup commencé à travailler ... – zeta