Io opero con Gambas-3, ma immagino che riguardo a quest'argomento la cosa non cambi. Lanciando il programma:
* alla riga:
Event generaevento() As Integer
ottengo l'errore: Unexpected As
* lasciando scritta la riga:
Public Sub Oggetto_generaevento() As Integer
viene restituito l'errore da te rilevato e mostrato nella prima immagine che hai allegato. Per far sparire quell'errore, è necessario eliminare le parole: As Integer
* a questo punto non ha più senso il comando:
Ed infatti, lasciandolo, si ottiene ovviamente la segnalazione dell'errore: Return value datatype non specified in function declaration.
Comunque sia, al di là della questione accademica sulla restituzione di un valore da parte di un evento sollevato, la restituzione può essere ottenuta più semplicemente chiamando una Funzione.
Aggiornamento.
Segnalerei questa pagina della WIKI:
http://www.gambas-it.org/wiki/index.php?title=Gli_eventi
e dunque, il riferimento al tipo di valore va inserito come parametro (dell'Evento: generaevento) da passare alla routine che sarà sollevata dall'Evento medesimo nella Classe principale:
Event generaevento(variabile As Integer)