Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Vincular eventos de classe c# em formulario VFP
Message
General information
Forum:
Visual FoxPro
Category:
Visual FoxPro and .NET
Title:
Vincular eventos de classe c# em formulario VFP
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01064077
Message ID:
01064077
Views:
116
Oi Pessoal,

Criei um UserControl em c# e registrei ele para interoperabilidade COM, transformando-o em ActiveX para usar pelo VFP.

Tudo está funcionando as mil maravilhas (com excessão do Intelisense), porém tem um unico detalhe que está faltando e estou já ha 2 dias pesquisando sem solução :
- na classe em c# eu tenho 2 eventos que eu gostaria de no formulario VFP ser notificado quando eles forem disparados para poder tomar determinada ação.

A primeira tentativa que fiz foi com a função BindEvent() para vincular o evento de minha classe (COM) com um metodo de delegação do formulario VFP. Não tive sucesso pois aparentemente esta função só trabalha com membros nativos do VFP.

Na documentação da função BindEvent() li que o indicado para trabalhar com eventos vindo de um componente COM seria a função Eventhandler().

Pelo help da EventHandler() vi que seria necessário criar uma classe que implemente a interface do COM onde estão definidos os eventos, além de criar as procedures relativas a cada evento. Bom... não sei se fiz certo pois no help só tem um exemplo com eventos do RecordSet, mas criei uma classe implementando os add, remove e raise da minha interface.

Instanciei a classe no programa principal (public) e no formulario fiz o EventHandler(ComponenteOle.Object,InstanciaClasseVFP).

Resultado : nada acontece... ele não entra nas procedures definidas na classe...

Alguém aqui ja passou por experiência similar precisando do VFP escutar eventos de fora, e teria ai o caminho correto para isso ?

Agradeço qualquer ajuda.

[]´s

Leandro Macedo
Reply
Map
View

Click here to load this message in the networking platform