Salut !
J'ai une appli VB6 qui communique avec une DLL .NET.
L'appli VB6 voit la DLL .NET en tant que composant COM.
La DLL contient :
- classe A
- classe B
La classe A contient une méthode "faireOperation" qui prend en argument une instance de la classe B.
Côté VB, je fais donc:
A la ligne 1, VB crée un wrapper sur l'instance de la classe A.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim a as new A Dim b as new B a.faireOperation(b)
A la ligne 2, VB crée un wrapper sur l'instance de la classe B.
A la ligne 3, il passe au wrapper de "a" le wrapper de "b".
Ma question est:
Lors de l'éxécution dans la CLR de la méthode "faireOperation", dotNet va-t-il voir b comme:
1/ un wrapper d'une instance de B ?
2/ un wrapper de wrapper d'une instance de B ?
3/ une instance de B ? (Il faudrait alors qu'il soit carrément intelligent !)
En fonction de la réponse (par exemple si c'est la 1 ou la 2), je vais modifier ma méthode faireOperation pour éviter la perte de perfs due aux wrappers (par exemple en gérant côté .NET une liste statique des instances de B, et en ne faisant communiquer VB avec .NET qu'avec des ids d'instance).
Merci d'avance aux gens qui seront assez pointus pour pouvoir me répondre, voire me donner une idée sur la façon de tester ça ! ;-)
@+
Partager