°Obrigado, Giridhar!
Mas meu problema ainda persiste... Eu sei como declarar um evento em C# - e até mesmo meu componente está ativando-o ao ser instanciado no IExplore, por exemplo.
O problema principal é que, ao criar uma classe proxy em ABAP (herdando de CL_GUI_CONTROL), meu controle em C# simplesmente não ativa o evento, pois não há inscritos para ele.
Explicando melhor:
Tenho um componente chamado MYCOMP.Component, e ele tem um evento chamado Selected. Este evento tem o número de DispatchID 16.
Se eu o uso em uma página da web, assim
<object id="comp" ClassID="clsid:my-big-clsid"</object>
<script for="comp" event="Selected">
alert("°Ativado!");
</script>
...°funciona perfeitamente! Acredito que o Internet Explorer se inscreve no evento da forma correta.
Agora em ABAP, digamos que eu criei um ZCL_GUI_MYCOMP, que está sendo instanciado corretamente dentro de um contêiner... Consigo ver e usar meu componente dentro do SAP. Mas mesmo depois de chamar SET_REGISTERED_EVENTS passando o eventid = 16 (meu DispID, lembra?), °o método DISPATCH nunca é chamado! E quando depuro o componente dentro do Visual Studio, quando o evento deveria ser ativado, ele me diz que o evento Select é nulo.
Parece que preciso fazer com que o ABAP se inscreva na função delegada do meu componente, ou algo assim. Estou ficando louco depois de três noites sem dormir?
°Obrigado!