Contexte:Comment créer des méthodes d'interface en utilisant des types .tlb dans VS C++?
- Le fichier TLB contient des interfaces écrites dans un langage 'X'. Je n'ai pas de fichier .h, .idl, .tlh ou tout autre fichier d'en-tête - juste le fichier .TLB. La langue 'X' n'exporte pas .h, .idl, etc.
- J'utilise l'assistant VS pour ajouter un objet ATL simple à mon projet ATL.
Je souhaite ajouter une méthode à l'interface de mon objet ATL simple qui utilise l'un des types définis .TLB pour un paramètre.
// Something like the following in the .idl file:
interface ISomeInterface : IUnknown {
HRESULT SomeMethod([in] ITypeFromTLB* aVal); // ITypeFromTLB declared in .TLB file.
};
Comment est-ce que je peux faire ceci? J'espère un wizard, ou une ligne dans la déclaration d'interface .idl qui apporterait l'information .tlb. midl's include (no.tlb), import (no tlb) et importlib (library only) ne semblent pas fournir de solution (I besoin de proxy/stub pour fonctionner, donc je ne peux pas mettre cela dans la déclaration de bibliothèque avec la commande importlib).
Ceci n'est pas disponible dans le compilateur midl. – Steven
Ceci est une directive du compilateur C/C++, pas du compilateur MIDL. Mettez-le juste après votre – wqw
de # include J'ai besoin d'apporter les informations dans mon fichier IDL afin que je puisse déclarer une nouvelle interface. #import n'apporte que l'information dans mes fichiers .h et .cpp. – Steven