Ciao,
scusate se non sono stato chiaro.
Il programma é composto da una DLL di nome clsOnCom che contiene anche una form di nome Form1 e da un'applicazione exe che richiama la DLL clsOnCom.
Questo é il codice.

----------------------------------------------------------------------------
nella classe clsOnCom della DLL:

Public Event MyEventInClass()
Private WithEvents mMyEventInForm As Form1

Private Sub Class_Initialize()
Set mMyEventInForm = New Form1
End Sub

Private Sub mMyEventInForm_MyEventInForm()
RaiseEvent MyEventInClass
End Sub

Public Sub FireEvent() ' -------- metodo della DLL -------------
Call Form1.FireEventInForm
End Sub
----------------------------------------------------------------------------
nella form Form1 della DLL:

Public Event MyEventInForm()

Public Sub FireEventInForm()
RaiseEvent MyEventInForm
End Sub
----------------------------------------------------------------------------
nell'applicazione che usa la DLL:

Dim WithEvents mEventInDLL As clsOnCom

Private Sub cmdFireEvent_Click()
mEventInDLL.FireEvent
End Sub

Private Sub Form_Load()
Set mEventInDLL = New clsOnCom
End Sub

Private Sub mEventInDLL_MyEventInClass()
MsgBox "fired!"
End Sub
----------------------------------------------------------------------------
Il funzionamento che mi aspetterei é questo:
-dalla app premo il bottone FireEvent che richiama il metodo FireEvent della DLL
-il metodo chiama FireEventInForm contenuta nel codice della Form1 (e fin qui ci siamo perché lo chiama correttamente)
-la chiamata dovrebbe attivare l'evento della Form1 MyEventInForm (da qui i dubbi)
-l'evento MyEventInForm dovrebbe venire trappato dalla variabile mMyEventInForm definita nella DLL a livello di classe la quale a sua volta dovrebbe attivare l'evento MyEventInClass che é visibile nella exe e che dovrebbe mostrare "Fired!".

Io ho solo bisogno di sentire nella exe l'evento nella Form! ma ho visto che una exe che usa una DLL sente gli eventi definiti nella DLL a livello di classe, per cui ho pensato di usare lo stesso metodo fra exe e classe anche all'interno della DLL fra classe e form...
Il risultato é nessun errore ma neanche il messaggio "Fired!", cioé l'evento nella form o non viene fatto scattare o non viene "gestito" correttamente dalla variabile mMyEventInForm ...

Spero di aver chiarito il punto.
Grazie per qualsiasi dritta vogliate darmi.