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.
j'ai évidemment testé avec d'autres classes de mon activeX mais ce n'est pas lié le problème persiste toujours.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci d'avance pour votre aide !
Partager