Je tente d'écrire un viewer d'objet COM en Delphi. Je suis confronté au
problème suivant :
Quand j'énumère les fonctions d'un "ITypeInfo" en me servant
de "TypeAttr" (itération TypeAttr.cFuncs / ITypeInfo.GetFuncDesc)
je trouve les fonctions de l'interface _et_ les fonctions héritées.
La structure "FuncDesc" (description de la fonction) contient "DispID" et
"href".
via l'utilisation de :
1- succeeded(GetRefTypeInfo(href,TypeLibRef))
2- TypeLibRef.GetDocumentation(-1,@inheritedInterfaceName,...)
"inheritedInterfaceName" ne correspond pas à l'interface d'où provient la
fonction héritée.
Dans MSDN on trouve ceci :
MEMBERID identifies the member in a type description. For IDispatch
interfaces, this is the same as DISPID.
typedef DISPID MEMBERID;
Bits Value : 16-21 The nesting level of this typeinfo in the inheritance
hierarchy.
....mais je ne comprends pas comment utiliser ceci pour les fonctions.
Comment savoir si une fonction est héritée afin de n'afficher que les
fonctions
de l'interface en cours (comme le fait OleView) ?
ou
Comment trouver l'interface [dispid1,dispid2] des "fonctions directes" de
l'interfaces ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
mike
pour
Comment trouver l'interface [dispid1,dispid2] des "fonctions directes" de l'interfaces ?
lire :
Comment trouver _l'intervalle_ [dispid1,dispid2] des "fonctions directes" de l'interfaces ?
désolé; merci !
"mike" a écrit dans le message de news: d2tmia$1k7$
Bonjour,
Je tente d'écrire un viewer d'objet COM en Delphi. Je suis confronté au problème suivant : Quand j'énumère les fonctions d'un "ITypeInfo" en me servant de "TypeAttr" (itération TypeAttr.cFuncs / ITypeInfo.GetFuncDesc) je trouve les fonctions de l'interface _et_ les fonctions héritées.
La structure "FuncDesc" (description de la fonction) contient "DispID" et "href". via l'utilisation de : 1- succeeded(GetRefTypeInfo(href,TypeLibRef)) 2- TypeLibRef.GetDocumentation(-1,@inheritedInterfaceName,...) "inheritedInterfaceName" ne correspond pas à l'interface d'où provient la fonction héritée.
Dans MSDN on trouve ceci :
MEMBERID identifies the member in a type description. For IDispatch interfaces, this is the same as DISPID. typedef DISPID MEMBERID; Bits Value : 16-21 The nesting level of this typeinfo in the inheritance hierarchy.
....mais je ne comprends pas comment utiliser ceci pour les fonctions.
Comment savoir si une fonction est héritée afin de n'afficher que les fonctions de l'interface en cours (comme le fait OleView) ? ou Comment trouver l'interface [dispid1,dispid2] des "fonctions directes" de l'interfaces ?
Merci de votre aide !
Pascal
pour
Comment trouver l'interface [dispid1,dispid2] des "fonctions directes" de
l'interfaces ?
lire :
Comment trouver _l'intervalle_ [dispid1,dispid2] des "fonctions directes" de
l'interfaces ?
désolé; merci !
"mike" <oo@ii.fr> a écrit dans le message de news:
d2tmia$1k7$1@news.tiscali.fr...
Bonjour,
Je tente d'écrire un viewer d'objet COM en Delphi. Je suis confronté au
problème suivant :
Quand j'énumère les fonctions d'un "ITypeInfo" en me servant
de "TypeAttr" (itération TypeAttr.cFuncs / ITypeInfo.GetFuncDesc)
je trouve les fonctions de l'interface _et_ les fonctions héritées.
La structure "FuncDesc" (description de la fonction) contient "DispID" et
"href".
via l'utilisation de :
1- succeeded(GetRefTypeInfo(href,TypeLibRef))
2- TypeLibRef.GetDocumentation(-1,@inheritedInterfaceName,...)
"inheritedInterfaceName" ne correspond pas à l'interface d'où provient la
fonction héritée.
Dans MSDN on trouve ceci :
MEMBERID identifies the member in a type description. For IDispatch
interfaces, this is the same as DISPID.
typedef DISPID MEMBERID;
Bits Value : 16-21 The nesting level of this typeinfo in the inheritance
hierarchy.
....mais je ne comprends pas comment utiliser ceci pour les fonctions.
Comment savoir si une fonction est héritée afin de n'afficher que les
fonctions
de l'interface en cours (comme le fait OleView) ?
ou
Comment trouver l'interface [dispid1,dispid2] des "fonctions directes" de
l'interfaces ?
Comment trouver l'interface [dispid1,dispid2] des "fonctions directes" de l'interfaces ?
lire :
Comment trouver _l'intervalle_ [dispid1,dispid2] des "fonctions directes" de l'interfaces ?
désolé; merci !
"mike" a écrit dans le message de news: d2tmia$1k7$
Bonjour,
Je tente d'écrire un viewer d'objet COM en Delphi. Je suis confronté au problème suivant : Quand j'énumère les fonctions d'un "ITypeInfo" en me servant de "TypeAttr" (itération TypeAttr.cFuncs / ITypeInfo.GetFuncDesc) je trouve les fonctions de l'interface _et_ les fonctions héritées.
La structure "FuncDesc" (description de la fonction) contient "DispID" et "href". via l'utilisation de : 1- succeeded(GetRefTypeInfo(href,TypeLibRef)) 2- TypeLibRef.GetDocumentation(-1,@inheritedInterfaceName,...) "inheritedInterfaceName" ne correspond pas à l'interface d'où provient la fonction héritée.
Dans MSDN on trouve ceci :
MEMBERID identifies the member in a type description. For IDispatch interfaces, this is the same as DISPID. typedef DISPID MEMBERID; Bits Value : 16-21 The nesting level of this typeinfo in the inheritance hierarchy.
....mais je ne comprends pas comment utiliser ceci pour les fonctions.
Comment savoir si une fonction est héritée afin de n'afficher que les fonctions de l'interface en cours (comme le fait OleView) ? ou Comment trouver l'interface [dispid1,dispid2] des "fonctions directes" de l'interfaces ?