Ciao a tutti,

cerco di essere il più chiaro possibile.
Ho creato un progetto exe/ActiveX in cui ho un modulo e ovviamente la classe.
Nella classe ho creato una property alla quale ho associato un evento onChange a cui ci si può registrare previa definizione dell'oggetto.
Nel modulo ho tutte le funzioni necessarie alla corretta funzione dell'activeX e la classe non fa altro che richiamare tali funzioni.

Classe: "classe.cls"
codice:
Option Explicit

Public cStatus As Long
Public Event OnStatusChange(value As Long)

Public Property Get Status() As Long
  Status = cStatus
End Property

Public Property Let Status(value As Long)
  cStatus = value
  Call Change(value)
End Property

Private Sub Change(ByVal value As Long)
  RaiseEvent OnStatusChange(value)
End Sub

....... e le funzioni della classe!
Modulo: "Modulo.bas"
codice:
 ..... lista di subrutine, funzioni, ecc...
Ho incluso l'activeX creato in un progetto e se abilito l'evento sulla property e ne modifico il valore l'evento viene intercettato correttamente.

codice:
 
Public WithEvents objActiveX As New Classe

Private Sub Form_Load()
   Set objActiveX = New Classe
End Sub

Private Sub objActiveX_OnStatusChange(ByVal value As long)
   Call MsgBox("Changed to: " & value)
End Sub

Private Sub Command1_Click()
    objActiveX.Status = Text1.Text
End Sub
In questo modo se clikko sul command1 visualizzo la mgBox correttamente.

La mia necessità è quella di poter settare la property all'interno del "modulo dell'activeX" in modo statico!Così facendo si dovrebbe scatenare l'evento onChange della property. Ovvero dal modulo poter fare o Classe.Status = valore oppure objActiveX.Status = valore.

La classe dell'activeX al momento è settata come Multiuse! Se la setto come GlobalMultiUse posso accedere allo Status facendo objActiveX.Status in fase di progettazione ma ricevo l'errore di compilazione: "impossibile trovare il metodo o il membro dei dati" se cerco di creare l'eseguibile.

ho necessità di eseguire tali operazioni in quanto la stessa ActiveX può modificare il proprio stato a runTime in base ad eventi esterni (per esempio se cade la comunicazione!) e sarebbe utile che tale cambiamento venisse comunicato con l'evento al programma utilizzatore della ActiveX.

è possibile?
Scusate il casino ma nn è facilissimo da spiegare..
Mirko