Página 1 de 1

PROPERTY aAtributos AS ARRAY INIT {}

Publicado: Lun Feb 27, 2006 6:34 pm
por joseluis
Hola,
¿PROPERTY está inicializando la propiedad aAtributos como array?
Saludos,
José Luis Capel

PROPERTY aAtributos AS ARRAY INIT {}

Publicado: Lun Feb 27, 2006 6:45 pm
por jfgimenez
José Luis,
> ¿PROPERTY está inicializando la propiedad aAtributos como array?
Cuando tengas que inicializar una propiedad como array, hazlo en el
OnInitialize.
Desde la optimización del motor de objetos que hizo Walter, si lo
inicializas en la declaración de la clase, todos los objetos de la misma
clase compartirán el mismo array, como si fuera una CLASSDATA.
--
Un saludo,
José F. Giménez

PROPERTY aAtributos AS ARRAY INIT {}

Publicado: Lun Feb 27, 2006 6:46 pm
por joseluis
José,
>
> Cuando tengas que inicializar una propiedad como array, hazlo en el
> OnInitialize.
>
Es que estoy añadiendo controles page a un tPages, y ahí­ no dispongo del
onInitialize. Aunque haya añadido el evento a la clase de esta manera:
CLASS TPage FROM XPage
DATA lMsgAuto INIT .T.
METHOD CreateForm() VIRTUAL
EVENT OnInitialize( oSender )
ENDCLASS
Eel evento no se dispara por que desde el IDE no puedo añadir al xfm el
método (o no se como hacerlo).
> Desde la optimización del motor de objetos que hizo Walter, si lo
> inicializas en la declaración de la clase, todos los objetos de la misma
> clase compartirán el mismo array, como si fuera una CLASSDATA.
>
¿Quieres decir que esta construcción tambien me crea un classdata?
DATA aArray AS ARRAY INIT {}
Saludos y gracias,
José Luis Capel

PROPERTY aAtributos AS ARRAY INIT {}

Publicado: Lun Feb 27, 2006 7:04 pm
por jfgimenez
José Luis,
> Es que estoy añadiendo controles page a un tPages, y ahí no dispongo del
> onInitialize. Aunque haya añadido el evento a la clase de esta manera:
>
> CLASS TPage FROM XPage
> DATA lMsgAuto INIT .T.
> METHOD CreateForm() VIRTUAL
> EVENT OnInitialize( oSender )
> ENDCLASS
>
> Eel evento no se dispara por que desde el IDE no puedo añadir al xfm el
> método (o no se como hacerlo).
Es más sencillo que sobrecargues el método New:
METHOD New( oParent ) CLASS TPage
::aAtributos := {}
Super:New( oParent )
RETURN Self
> ¿Quieres decir que esta construcción tambien me crea un classdata?
>
> DATA aArray AS ARRAY INIT {}
Me temo que sí.
--
Un saludo,
José F. Giménez

PROPERTY aAtributos AS ARRAY INIT {}

Publicado: Lun Feb 27, 2006 8:12 pm
por joseluis
José,
Solucionado!!
Gracias,
José Luis Capel
Jose F. Gimenez escribió:
> José Luis,
>
>
>>Es que estoy añadiendo controles page a un tPages, y ahí­ no dispongo del
>>onInitialize. Aunque haya añadido el evento a la clase de esta manera:
>>
>>CLASS TPage FROM XPage
>> DATA lMsgAuto INIT .T.
>> METHOD CreateForm() VIRTUAL
>> EVENT OnInitialize( oSender )
>>ENDCLASS
>>
>>Eel evento no se dispara por que desde el IDE no puedo añadir al xfm el
>>método (o no se como hacerlo).
>
>
> Es más sencillo que sobrecargues el método New:
>
> METHOD New( oParent ) CLASS TPage
> ::aAtributos := {}
> Super:New( oParent )
> RETURN Self
>
>
>
>>¿Quieres decir que esta construcción tambien me crea un classdata?
>>
>>DATA aArray AS ARRAY INIT {}
>
>
> Me temo que sí­.
>