Pregunta sobre clases y el método New()
Publicado: Sab Abr 28, 2012 6:25 pm
Que conviene mas (llamar a METHOD New()) o bien al definir la DATA ( DATA oProfesionalentidad INIT Profesionalentidad():New() ) inicializarla con la clase que quiero.
En realidad estoy teniendo algunos problemas y quiero ver si viene por ahí el tema.
Gracias.
#include "Xailer.ch"
//---------------------------------------------------------- --------------------
CLASS Entidadesturno From TComponent
METHOD DevolverPorID( ID )
METHOD Actualizar()
METHOD Agregar()
METHOD Eliminar()
METHOD CargarTipo(identidadturno)
PROPERTY identidadturno INIT 0
PROPERTY idpersonajsucursal INIT 0
PROPERTY codigo INIT ""
PROPERTY descripcion INIT ""
PROPERTY idtipoentidad INIT 0
DATA oProfesionalentidad INIT Profesionalentidad():New()
METHOD New()
ENDCLASS
//---------------------------------------------------------- --------------------
METHOD New() CLASS Entidadesturno
::oProfesionalentidad := Profesionalentidad():New( Self )
RETURN Self
//---------------------------------------------------------- --------------------
METHOD DevolverPorID( ID ) CLASS Entidadesturno
local ret:=.F.
local hArray:=AppData:oSql:QH( "select idpersonajsucursal,codigo,descripcion from Entidadesturno where identidadturno="+str(ID) )
IF len(hArray)>0
::identidadturno := ID
::idpersonajsucursal := hArray['idpersonajsucursal']
::codigo := hArray['codigo']
::descripcion := hArray['descripcion']
::CargarTipo(::identidadturno)
ret := .t.
ELSE
::New()
::CargarTipo(::identidadturno)
AppData:oSql:cError:="El registro ya no existe en la base de datos."
ENDIF
RETURN ret
--
En realidad estoy teniendo algunos problemas y quiero ver si viene por ahí el tema.
Gracias.
#include "Xailer.ch"
//---------------------------------------------------------- --------------------
CLASS Entidadesturno From TComponent
METHOD DevolverPorID( ID )
METHOD Actualizar()
METHOD Agregar()
METHOD Eliminar()
METHOD CargarTipo(identidadturno)
PROPERTY identidadturno INIT 0
PROPERTY idpersonajsucursal INIT 0
PROPERTY codigo INIT ""
PROPERTY descripcion INIT ""
PROPERTY idtipoentidad INIT 0
DATA oProfesionalentidad INIT Profesionalentidad():New()
METHOD New()
ENDCLASS
//---------------------------------------------------------- --------------------
METHOD New() CLASS Entidadesturno
::oProfesionalentidad := Profesionalentidad():New( Self )
RETURN Self
//---------------------------------------------------------- --------------------
METHOD DevolverPorID( ID ) CLASS Entidadesturno
local ret:=.F.
local hArray:=AppData:oSql:QH( "select idpersonajsucursal,codigo,descripcion from Entidadesturno where identidadturno="+str(ID) )
IF len(hArray)>0
::identidadturno := ID
::idpersonajsucursal := hArray['idpersonajsucursal']
::codigo := hArray['codigo']
::descripcion := hArray['descripcion']
::CargarTipo(::identidadturno)
ret := .t.
ELSE
::New()
::CargarTipo(::identidadturno)
AppData:oSql:cError:="El registro ya no existe en la base de datos."
ENDIF
RETURN ret
--