J'aimerais savoir s'il est possible d'appeler une fonction en VBScript à partir de C#. Je vais essayer de clarifier. J'utilise une application (Quick Test Professional ou "QTP") qui automatise une autre application, principalement en utilisant VBScript. Il est possible, via un modèle complémentaire, d'étendre la fonctionnalité de test en écrivant des modules complémentaires à l'application de test (QTP) qui sont des assemblages .NET. Le flux de travail de base est le suivant : les tests VBScript automatisent l'application de test et peuvent appeler des méthodes sur une classe dans l'assemblage add-in d'extensibilité pour faire des choses plus compliquées. Cette partie fonctionne bien.
J'aimerais savoir s'il est possible pour mon code C# (dans l'assemblage d'extension) de rappeler une fonction dans le VBScript. Je ne pense pas que le cadre d'application de test (QTP) prenne explicitement en charge cette fonction, et je me demande donc s'il existe un moyen de le faire en utilisant les techniques d'interopérabilité standard. Je pensais à moitié utiliser GetRef() pour obtenir une référence à la fonction VBScript qui m'intéresse, la passer comme paramètre à une méthode que j'appelle dans l'addin d'extensibilité (je pense que je rencontrerais des problèmes de marshaling même à ce stade ?) et ensuite, dans le code C# de mon addin d'extensibilité, appeler d'une manière ou d'une autre une méthode sur cet objet ; c'est là que je suis complètement perdu (puisque je ne sais pas comment faire sans les informations de type nécessaires normalement utilisées dans la réflexion).
Je pense que ce n'est peut-être pas possible, mais j'aimerais avoir une confirmation si c'est le cas.
Merci !