Provo così come hai scritto, la classe che ho postato è in un modulo di codice, x as connectonref.Ho visto grosso modo il codice, è molto articolato non è possibile capirci qualcosa con solo questa parte. Non riesco ad aiutarti.
Comunque per spostare un evento su una classe diversa o un Activity questi sono i comandi
B4X:' mCallBack è il chiamante - Activity, classe o servizio ' il nome della sub chiamata deve contenere sempre _ (underscore) nel nome If SubExists(mCallBack,"Evento_NewData") Then CallSub(mCallBack,"Evento_NewData") ' Evento senza parametri If SubExists(mCallBack,"Evento_NewData") Then CallSub2(mCallBack,"Evento_NewData",Buffer) ' Un parametro If SubExists(mCallBack,"Evento_NewData") Then CallSub3(mCallBack,"Evento_NewData",Buffer, String2) ' Due parametri
Activity A usa x, x.initialize è in Activity A.
Quando premo un bottone passo a Activity B che deve utilizzare x, per farlo anche in Activity B faccio x.initialize, l'evento di ricezione dati si genera però quando torno in Activity A