In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Pasar datos

Foro de Xailer profesional en español
Responder
Emilio Gil
Mensajes: 48
Registrado: Mié Nov 23, 2005 5:08 pm

Pasar datos

Mensaje por Emilio Gil »

Estando en el formulario principal de una aplicación como puedo pasar
una variable (p.e. una matriz) a un segundo formulario lanzado p.e. al
pulsar un botón en el principal, de manera que las modificaciones en
dicha variable tengan efecto al cerrar el 2º formulario y volver al
principal.
Gracias.
Emilio.
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Pasar datos

Mensaje por Xevi »

Emilio,
Puedes echar mano del la clase pública AppData, en la que creas tus
"variables" que necesites tener públicas...
Yo lo estoy utilizando así, y me funciona perfectamente...
En el Form principal...
AppData:AddData( "aMiArray", {""} )
En los forms que necesite, cambio o leo los valores de esta "variable"
AppData:aMiArray := { "Elemento1", "Elemento2" }
o
MsgInfo( AppData:aMiArray[1] )
De esta manera, el Array es visible en TODA la aplicación.
Espero te pueda servir...
Un Saludo,
Xevi.
"Emilio Gil" <emilio@iplasticas.com> escribió en el mensaje
news:4411aa4e$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Estando en el formulario principal de una aplicación como puedo pasar una
> variable (p.e. una matriz) a un segundo formulario lanzado p.e. al pulsar
> un botón en el principal, de manera que las modificaciones en dicha
> variable tengan efecto al cerrar el 2º formulario y volver al principal.
>
> Gracias.
> Emilio.
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9447
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Pasar datos

Mensaje por ignacio »

Emilio,
Lo más sencillo a mi modo de ver es crear una DATA especifica en el segundo
formulario, o simplemente utilizar la DATA Cargo.
Un saludo,
"Emilio Gil" <emilio@iplasticas.com> escribió en el mensaje
news:4411aa4e$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Estando en el formulario principal de una aplicación como puedo pasar una
> variable (p.e. una matriz) a un segundo formulario lanzado p.e. al pulsar
> un botón en el principal, de manera que las modificaciones en dicha
> variable tengan efecto al cerrar el 2º formulario y volver al principal.
>
> Gracias.
> Emilio.
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Rene Flores
Mensajes: 620
Registrado: Jue Mar 23, 2006 2:39 am

Pasar datos

Mensaje por Rene Flores »

Emilio:
En mi blog tengo la respuesta:
http://objetopersistente.blogspot.com/2 ... de-xailer- paso-de-parmetros-y.html
Saludos
Rene Flores
http://www.ciber-tec.com
Gil escribió:
> Estando en el formulario principal de una aplicación como puedo
> pasar una variable (p.e. una matriz) a un segundo formulario lanzado
> p.e. al pulsar un botón en el principal, de manera que las
> modificaciones en dicha variable tengan efecto al cerrar el 2º
> formulario y volver al principal.
>
> Gracias.
> Emilio.
>
Emilio Gil
Mensajes: 48
Registrado: Mié Nov 23, 2005 5:08 pm

Pasar datos

Mensaje por Emilio Gil »

Emilio Gil escribió:
> Estando en el formulario principal de una aplicación como puedo
> pasar una variable (p.e. una matriz) a un segundo formulario lanzado
> p.e. al pulsar un botón en el principal, de manera que las
> modificaciones en dicha variable tengan efecto al cerrar el 2º
> formulario y volver al principal.
>
> Gracias.
> Emilio.
>
>
Muchas gracias a los tres, y a ti amigo René, cuanto tiempo sin saber
nada de vos, a ver cuando vuelvas a España tenemos un rato para comer
con los amigos.
Saludos.
Emilio.
joseluis
Mensajes: 642
Registrado: Jue Sep 08, 2005 12:54 pm

Pasar datos

Mensaje por joseluis »

Emilio,
Yo utilizo tres maneras de acceder a variables de otras clases/formularios:
a. utilizando una clase global a toda la aplicación (léase la
Application de Xailer u otra de creación propia). Este sistema lo
utilizo solo para temas de configuración o comportamiento global a la
aplicación.
b. Si desde el formulario padre tengo que pasar datos al formulario hijo
entonces creo DATAS o PROPERTY en el formulario hijo y hago lo siguiente:
LOCAL oForm
oForm := MiformularioHijo():New ( Self )
oForm:miData1 := Valor1
...
oForm:Show()
c. Si desde el formulario hijo tengo que acceder a algún valor del
formulario padre hago lo siguiente:
::oParent:MiDataenFrmPadre := unValor
Saludos,
José Luis Capel
PD: otra manera que se me ocurre para pasar datos (en el caso b) serí­a
el siguiente:
LOCAL oForm
oForm := MiformularioHijo():New ( Self, Valor1, Valor2, ... )
oForm:Show()
y en el formulario hijo sobrecargamos el método New
METHOD New( oForm, uVal1, uVal2, uVal3) CLASS tMiFormularioHijo
Super:New( oForm )
::MiData1 := uVal1
...
RETURN Self
Emilio Gil escribió:
> Estando en el formulario principal de una aplicación como puedo
> pasar una variable (p.e. una matriz) a un segundo formulario lanzado
> p.e. al pulsar un botón en el principal, de manera que las
> modificaciones en dicha variable tengan efecto al cerrar el 2º
> formulario y volver al principal.
>
> Gracias.
> Emilio.
>
Responder