Singleton et instance d'une classe ActiveX
Bonjour,
j'ai un petit soucis concernant l'utilisation d'un singleton pour instancier une classe contenue dans un ActiveX.exe.
La classe contenue dans l'activeX est : activeX
Lorsque je procède ainsi, pas de soucis ma classe est bien instanciée.
'Dim ax = New Mon_ActiveX.activeX
Tandisqu'en passant par mon singleton j'ai une erreur :
'Dim ax As classActiveX = classActiveX.getInstance()
Impossible d'effectuer un cast d'un objet COM de type 'Mon_ActiveX.activeXClass' en type de classe 'WindowsApplication1.classActiveX'. Les instances de types qui représentent des composants COM ne peuvent pas être castées en types différents représentant des composants COM ; toutefois, elles peuvent être castées en interfaces tant que le composant COM sous-jacent prend en charge les appels QueryInterface pour l'IID de l'interface.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Public Class classActiveX
'Instance
Private Shared instance As Mon_ActiveX.activeX
Protected Sub New()
'constructeur par défaut
End Sub
Public Shared Function getInstance() As Mon_ActiveX.activeX
'on initialise si ce n'est pas deja fait
If instance Is Nothing Then
instance = New Mon_ActiveX.activeX
End If
'on retourne l'instance de la classe classActiveX
Return instance
End Function
End Class |
j'ai évidemment testé avec d'autres classes de mon activeX mais ce n'est pas lié le problème persiste toujours.
Merci d'avance pour votre aide !