Re: Cerrar un Dataset desde un formulario ajeno al objeto.
Publicado: Vie Jul 13, 2007 9:36 am
Creo que no me explique bien Ramón, y os pude confundir un poco. En el
caso que me comentas, utilizo ::oParent para acceder a las propiedades
del formulario padre, y en principio no tengo problemas.
Más bien, debería haber preguntado las "vías" que existen para poder
acceder a las propiedades de cualquier objeto de la aplicación que en
ese momento ya haya sido creado.
Llegue a ver tres formas:
1. Via ::oParent
::oParent:Objeto := Valor //Para los casos formulario padre/hijo
2. Via variable pública Application
Application:aForms[numero]:Objeto := Valor
3. Via With Object.
WITH OBJECT Variable := NombreDeClase():Etcétera
La forma número uno, no siempre es útil pues solo funcionará en
formularios hijo que acceden a propiedades del formulario padre.
La forma número dos, no me parece la mas correcta porque si no me
equivoco, el número de cada formulario es dinámico y no estático y
depende del orden en que hayan sido creados por los eventos generados
por el usuario de la aplicación. Es decir, si se entra de X manera,
puede ser el aForms[2] y si se entra de otra, puede ser aForms[3].
La forma tres, es la que mejor considero, pero existe un problema. Si
queremos acceder a un formulario ya creado, no podemos utilizar:
WITH OBJECT Variable := NombreDeLaClase():CreateForm( Self ), pues
crearía una nueva instancia.
Tampco puedo hacer:
WITH OBJECT Variable := NombreDeLaClase():New( Self ), pues crearía una
nueva instancia y lo que deseo es acceder al formulario ya creado.
¿Existe alguna manera de poder acceder a cualquier objeto de la
aplicación independientemente del formulario en el que nos encontremos
sin utilizar los tres "vías" anteriores?
caso que me comentas, utilizo ::oParent para acceder a las propiedades
del formulario padre, y en principio no tengo problemas.
Más bien, debería haber preguntado las "vías" que existen para poder
acceder a las propiedades de cualquier objeto de la aplicación que en
ese momento ya haya sido creado.
Llegue a ver tres formas:
1. Via ::oParent
::oParent:Objeto := Valor //Para los casos formulario padre/hijo
2. Via variable pública Application
Application:aForms[numero]:Objeto := Valor
3. Via With Object.
WITH OBJECT Variable := NombreDeClase():Etcétera
La forma número uno, no siempre es útil pues solo funcionará en
formularios hijo que acceden a propiedades del formulario padre.
La forma número dos, no me parece la mas correcta porque si no me
equivoco, el número de cada formulario es dinámico y no estático y
depende del orden en que hayan sido creados por los eventos generados
por el usuario de la aplicación. Es decir, si se entra de X manera,
puede ser el aForms[2] y si se entra de otra, puede ser aForms[3].
La forma tres, es la que mejor considero, pero existe un problema. Si
queremos acceder a un formulario ya creado, no podemos utilizar:
WITH OBJECT Variable := NombreDeLaClase():CreateForm( Self ), pues
crearía una nueva instancia.
Tampco puedo hacer:
WITH OBJECT Variable := NombreDeLaClase():New( Self ), pues crearía una
nueva instancia y lo que deseo es acceder al formulario ya creado.
¿Existe alguna manera de poder acceder a cualquier objeto de la
aplicación independientemente del formulario en el que nos encontremos
sin utilizar los tres "vías" anteriores?