>Estoy probando algunas clases diseñadas por programa, tengo problemas con una referencia que establezco en la clase datos, ¿alguien podria decirme porque no se dispara el evento destroy para ninguna de las dos clases?
Hola, Rodrigo.
El problema es que como tienes una referencia a otro objeto en oNegocios, nunca llega a ejecutarse el destroy. Para solucionarlo, debes tener un método que libere sus referencias, antes de liberarse a si mismo.
Te mando la versión corregida.
*------------------------------------------------------------------Acti ScreenClearPublic goNegocios
goNegocios=
Createobject(
'negocios')
goNegocios.
Release()
?
vartype( goNegocios )
*-- USO DE LA CLASE SESSIONDefine Class Negocios
As Custom Protected oDatos
Procedure Init ?
'negocios.init' This.oDatos=
Createobject(
'datos',
This)
Endproc Procedure Release ?
'negocios.release' This.oDatos=.Null.
Release this EndprocEnddefineDefine Class Datos
As Session Protected oNegocios
Procedure Init Lparameters toNegocios
?
'datos.init' This.oNegocios=toNegocios
Endproc Procedure Destroy ?
'datos.destroy' This.oNegocios=.Null.
EndprocEnddefine*-----------------------------------------------------------