Parámetros entre diálogos mediante DATAs
Publicado: Dom Dic 12, 2004 11:33 pm
Hola,
A ver si alguien me puede decir por qué me ocurre lo siguiente:
Tengo un diálogo con un Tree en la clase TMainForm. Además, uso una
clase TEditar, que muestra un formulario con un GET en el que se puede
editar el nombre de un item del Tree. La idea es que mediante un botón
del formulario principal se muestre el diálogo TEditar con el nombre del
item seleccionado como ::Value del GET, para que así el usuario lo
modifique y tras pulsar "Aceptar" el valor se cambie en el Tree.
En el evento OnClick del botón "Editar" hago esto:
METHOD BtnEditarClick( oSender ) CLASS TMainForm
WITH OBJECT TEditar():New( Self )
:xItem := ::oTree:GetSelectedItem():cText
:ShowModal()
END
RETURN Nil
Y en el evento OnInitialize del form TEditar hago esto otro:
METHOD FormInitialize( oSender ) CLASS TEditar
::oEdtItem:Value := ::xItem
RETURN Nil
He declarado xItem como una DATA de la clase TEditar. Sin embargo, el
formulario se carga con el valor NIL en el GET. ¿Por qué puede ser?
Sé que esto lo puedo hacer sin la DATA, accediendo desde TEditar al
TMainForm así:
Application:oMainForm:oTree:GetSelectedItem():cText
Pero me gustaría probarlo con la DATA y no entiendo por qué no funciona.
Gracias!
--
Un saludo,
Jaime Irurzun.
www.codigoescrito.com
A ver si alguien me puede decir por qué me ocurre lo siguiente:
Tengo un diálogo con un Tree en la clase TMainForm. Además, uso una
clase TEditar, que muestra un formulario con un GET en el que se puede
editar el nombre de un item del Tree. La idea es que mediante un botón
del formulario principal se muestre el diálogo TEditar con el nombre del
item seleccionado como ::Value del GET, para que así el usuario lo
modifique y tras pulsar "Aceptar" el valor se cambie en el Tree.
En el evento OnClick del botón "Editar" hago esto:
METHOD BtnEditarClick( oSender ) CLASS TMainForm
WITH OBJECT TEditar():New( Self )
:xItem := ::oTree:GetSelectedItem():cText
:ShowModal()
END
RETURN Nil
Y en el evento OnInitialize del form TEditar hago esto otro:
METHOD FormInitialize( oSender ) CLASS TEditar
::oEdtItem:Value := ::xItem
RETURN Nil
He declarado xItem como una DATA de la clase TEditar. Sin embargo, el
formulario se carga con el valor NIL en el GET. ¿Por qué puede ser?
Sé que esto lo puedo hacer sin la DATA, accediendo desde TEditar al
TMainForm así:
Application:oMainForm:oTree:GetSelectedItem():cText
Pero me gustaría probarlo con la DATA y no entiendo por qué no funciona.
Gracias!
--
Un saludo,
Jaime Irurzun.
www.codigoescrito.com