Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Herança em Componentes VFP com EVENTHANDLER
Message
From
09/03/2005 22:04:43
Renato Mendes
Renamark Sistemas Ltda
Uberlândia, Brazil
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Title:
Herança em Componentes VFP com EVENTHANDLER
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows Server 2003
Network:
Windows 2003 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
00994291
Message ID:
00994291
Views:
55
Caros colegas,

Este código para uma herança de classe executa sem problema, mas imagine criar algo semelhante, mas com um componente.
oExibe=NEWOBJECT("ExibirDadosFilha")
?oExibe.DarBoasVindas('Fulano de Tal')
DEFINE CLASS ExibirDados AS SESSION
	PROCEDURE DarBoasVindas (tcUsuario)
		RETURN "Olá: " + tcUsuario
	ENDPROC
ENDDEFINE

DEFINE CLASS ExibirDadosFilha as ExibirDados
	PROCEDURE DarBoasVindas (tcUsuario)
		RETURN DODEFAULT(tcUsuario) + '. Tudo bem?'
	ENDPROC
ENDDEFINE
Creio que ele deveria ficar assim.
Mas ai que está o inconviniente, com componente do próprio VFP o EVENTHANDLER retorna sempre falso.
Será que estou com o conceito errado?
BUILD PROJECT componente_01 FROM ExibirDados
BUILD DLL componente_01 from componente_01 recomp

oComp01 = NEWOBJECT("componente_01.ExibirDados")
oEvents = NEWOBJECT("myclass")
?EVENTHANDLER(oComp01,oEvents) && retorna .F. porque e como fazer?
?oComp01.DarBoasVindas('fulano')
?oEvents.IExibirDados_DarBoasVindas('fulano de tal') && consequentemente o valor retornado não é o esperado


DEFINE CLASS myclass AS session OLEPUBLIC
	IMPLEMENTS IExibirDados IN "componente_01.ExibirDados"
	PROCEDURE IExibirDados_DarBoasVindas(tcUsuario AS STRING) AS STRING
	 * add user code here
	ENDPROC
ENDDEFINE

DEFINE CLASS ExibirDados AS SESSION OLEPUBLIC
	FUNCTION DarBoasVindas (tcUsuario AS STRING) AS STRING
		LOCAL lcMensagemRetorno AS STRING
		lcMensagemRetorno = "Olá: " + tcUsuario
		RETURN lcMensagemRetorno
	ENDFUNC
ENDDEFINE
Renato Mendes
Renamark Sistemas
renatomendes@renamark.com.br
Reply
Map
View

Click here to load this message in the networking platform