Classes para envio de e-mail, integração com Office, validações (RegEx), etc. Tudo isso agora é possível fazendo uso de forma nativa sem utilizar recursos OCX. No .Net as DLLs não são registradas bastando apenas serem empacotadas junto com o projeto.
Uma classe .Net, assim como em qualquer linguagem OO, pode possuir seus atributos, métodos e eventos.
Particularmente falando de eventos, o .Net permite que ao disparar um evento para o consumidor desta classe, sejam enviados parâmetros através do evento. O consumidor da classe deverá criar um método para evento (SUBSCRIBER) para poder manipular os parâmetros.
Porém no Progress temos um problema. Um evento disparado pelo .Net deve seguir o padrão adotado pela ponte (bridge) entre o Progress e .Net, ou seja, os parâmetros que este evento deve enviar ao chamador não podem ser diferentes de:
- Primeiro parâmetro: System.Object (sender)
- Segundo parâmetro: System.EventArgs (e)
O Progress suporta apenas estes dois parâmetros em cada evento disparado pelo .Net. Caso tenha um evento que passe como parâmetros valores diferentes desta assinatura, então este evento não será suportado no Progress disparando assim uma exceção e encerrando o programa. Os eventos nativos dos componentes do Framework .Net já seguem este padrão.
Então lembre-se, para disponibilizar seus eventos de classes .Net no Progress, use sempre System.Object e System.EventsArgs como parâmetros.