Hello!
Je travaille en ce moment avec les technologies COM/Automation a l'aide de l'ATL. J'ai un composant ecrit en C++ et je l'utilise dans un module VBA (Excel). Dans ce module j'utilise l'early binding et mes declarations sont typees.
Ma question est la suivante: Est-ce que pour etre utilisable depuis un client VBA EB un composant doit obligatoirement implementer une dispinterface ? En pratique j'utilise des interfaces dual donc ce que j'aimerais savoir c'est si les appels de fonctions passent par Invoke ou est ce qu'ils sont directement lies en utilisant la methode custom interface ?
J'ai fait quelques tests et je peux utiliser un composant implementant seulement une custom interface depuis un client VBA en early binding donc cela repond en partie a ma question... Cependant si les appels ne passent pas par Invoke, comment sont convertis les types des arguments et de la valeur de retour ? Est-ce qu'il y a toujours une conversion implicite en VARIANT ?
Dans certains livres et documentations il est specifie que les appels depuis un client VBA (EB et LB) passent toujours par Invoke...Du coup je comprend pas trop
Merci d'avance!![]()
Partager