Como usar 2 formularios a la vez regresando el enfoque al form padre?

5,823 views
Skip to first unread message

Fox Learner

unread,
May 11, 2012, 8:21:51 PM5/11/12
to Comunidad de Visual Foxpro en Español
Acabo de pasar por la farmacia y un triste programita hecho en Visual
Basic 6.0 se rio de mi jeje

¿Por qué?... Porque hizo que desde un formulario padre se activara un
formulario hijo donde se captura la forma de pago y luego "regrese el
control" al form padre desactivando el hijo.

Cabe mencionar que el form padre queda en segundo plano mientras el
hijo hace su trabajo.

A la fecha, sigo con mi mala práctica de ocultar grids en la carga del
formulario y mostrarlos cuando sea necesario para luego volverlos a
ocultar.

Funciona, pero desearía poder poner esos grids en formularios hijos
que una vez que cumplan su proposito regresen el enfoque al formulario
padre.

Me niego rotundamente a usar los marcos de pagina. Quiero hacer lo que
el Visual Basic hace con los ojos cerrados jaja

NOTA.- Maestro Luis Maria, algun articulo que disipe mi duda?...

Saludos!




GeoSys Diseño de Software

unread,
May 11, 2012, 9:02:55 PM5/11/12
to publice...@googlegroups.com
Eso VFP lo hace con los ojos cerrados, tu eres el que aplica mal el diseño, mis aplicaciones lógicamente a la hora del pago son así, simplemente llamas desde el form de factura con DO FORM para las formas de pago y luego cierras ese formulario y listo, el código sigue  después del DO FORM.

Me extraña.


Saludos

Anthony Contreras Peralta

Costa Rica.

Fox Learner

unread,
May 11, 2012, 10:33:42 PM5/11/12
to Comunidad de Visual Foxpro en Español
Pero al cerrar el segundo grid se destruye la referencia al origen de
datos del grid de form hijo.

¿Como se soluciona eso?...

http://www.portalfox.com/index.php?name=News&file=article&sid=2331

Según el articulo "nunca se deberia mover la referencia a un cursor
base".

Tendría que estar "recreando" el grid del form 2 cada vez?..

Ya hace rato que no lo intento pero la ultima vez que perdi mi tiempo
no podia regresar al form1 desde el form2.

Como sería?.. Con el metodo show o algo asi?..

Aunque no lo creas Anthony, talvez he leido mucho sobre Fox, pero aun
soy un aprendiz.

Los expertos son ustedes..

Saludos!

Domingo Cuevas

unread,
May 11, 2012, 11:48:28 PM5/11/12
to publice...@googlegroups.com
El Form hijo debe ser "Modal" y para retornar solo cierra el Form hijo.

-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de Fox Learner
Enviado el: viernes, 11 de mayo de 2012 10:34 p.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: Como usar 2 formularios a la vez regresando el enfoque al
form padre?

Fox Learner

unread,
May 12, 2012, 12:55:10 AM5/12/12
to Comunidad de Visual Foxpro en Español
Sip! Ya funciona!!

Hice 2 forms cada uno con su grid.

Coloque 2 botones de comando en cada form para hacer el llamado al
otro form.

Al hacer click en el boton del form padre me pasa al form hijo. (Do
form "hijo.scx")

Al hacer click en boton del form hijo me regresa al padre. (Do form
"padre.scx")

En el text1 del grid de form hijo le puse un keypress que al presionar
enter libera de la memoria el form hijo (Thisform.release())

Si utilizo los botones de comando se abren "multiples instancias" de
ambos forms. Es decir quedan varias copias o sesiones de los forms en
la memoria ram. (Creo que esto no es lo recomendable).

Si utilizo el metodo Release() entonces no quedan copias del form hijo
en la memoria ram.

La propiedad modal del form hijo, logra que no se pueda acceder al
formulario padre mientras el hijo tiene el enfoque o es el formulario
activo.

Si no le pongo modal en la propiedad windowtype del form hijo, se
puede acceder al form padre y se vuelve un desastre jeje

Las tablas quedan cargadas en memoria para ambos formularios y el grid
del form hijo no pierde sus propiedades, ya que supongo que el cursor
que forma el grid esta cargado en memoria en el entorno de datos o
algo asi.

En fin, parece ser que eso es lo que buscaba. Me pregunto por qué no
lo podía hacer antes?...

Sera que la version 9 es mas amigable que la 6?...

Gracias! Creo que con esto se acabó uno de mis tormentos foxeros jaja

Saludos!

Fox Learner

unread,
May 12, 2012, 1:00:03 AM5/12/12
to Comunidad de Visual Foxpro en Español
O tal vez es que necesitaba regresar el enfoque a cierto control de
form padre al cerrar el form hijo..

Pero supongo que eso se soluciona usando conjunto de formularios o
formsets.

Ups! otro tormento.. jaja

Saludos!

Luis Maria Guayan

unread,
May 12, 2012, 9:14:37 AM5/12/12
to publice...@googlegroups.com
Al form hijo lo haces Modal y retornas el valor que necesitas en el método Unload del formulario hijo

No deberías "pasar" Grids de un formulario a otro, solo tienes abierto una tabla o cursor en el formulario hijo y lo visualizas con un control Grid en cualquiera de los dos formularios o ambos.

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Fox Learner

unread,
May 12, 2012, 11:59:19 PM5/12/12
to Comunidad de Visual Foxpro en Español
Ok. Gracias por la explicación! Y cuando cierre el grid hijo y desee
que el enfoque regrese a cierto control del form hijo como sería?..

Formsets?...

Maestro Luis Maria, aquí si que fui yo el que no le capté que me quiso
decir con esto:

"No deberías "pasar" Grids de un formulario a otro".

Cuando mencioné lo de "pasar" grids?..

Lo que sí quiero aclarar es que si tengo 2 forms (padre e hijo) con 2
grids normalmente cada grid hace referencia a un origen de datos
distinto (sea tabla o cursor).

Por ejemplo, para el sistema del hotel, hay un grid que aparece cuando
el operador desea buscar cierto cliente y elegir uno. Ya que eligió
uno, se "pasan" los datos de ese grid al form para que el operador los
vea claramente.

Pero más adelante, en ese mismo form, requiero que aparezca otro
grid(que desearía que este en otro form, no incrustado y oculto en el
mismo form, ya que en tiempo de ejecución el resultado es el mismo,
pero en tiempo de diseño se empieza a volver un caos tener varios
grids encimandose sobre un mismo form).

Ese segundo grid (que desearía que este en un form hijo) muestra la
disponibilidad de las habitaciones para cierta fecha una vez que el
usuario elegió el periodo que el cliente desea para hospedarse.

En ese segundo grid, una vez que se elegió la habitación a ocupar,
deseo que "se pasen" los datos de la habitación elegida en el grid del
form hijo al form padre (lo que me indicó hacer con el unload).

Pero que el enfoque regrese al control que sigue en el OrderTab del
form padre (o al control a donde estaba antes de activar el grid del
form hijo).

¿Cómo se haría eso de regresar el enfoque a cierto control de form
padre desde el "occiso" hijo?..

Gracias!



Jose carmona

unread,
May 13, 2012, 12:09:33 AM5/13/12
to Comunidad de Visual Foxpro en Español
jejeje yo tengo algo asi parecido y no me funciona a la hora d
utilizar el cursor...para despues pasarlo al form padre.

Jose carmona

unread,
May 13, 2012, 12:12:01 AM5/13/12
to Comunidad de Visual Foxpro en Español
me podrias prestar tu codigo a ver si logro hacer algo poq no le tengo
logica llevo 2 semanas apenas trabajando con este lenguaje despues d
haber trabajado 3 años bajo software libre se me hace un pelin
complicado y estoy haciendo pasantias me urge =(

Fox Learner

unread,
May 13, 2012, 12:46:18 AM5/13/12
to Comunidad de Visual Foxpro en Español
Fox, es facil amigo... Te lo digo yo que soy un aprendiz.

Con gusto te enviaría mis forms, pero al parecer estoy bloqueado por
los administradores del foro para poder enviar archivos adjuntos desde
mi correo.

Vere que puedo hacer para ayudar, pero básicamente es lo que ya
comentaron arriba.

Entiendo tu preocupación y que al inicio todo parece un caos, pero no
os desespereis.. jaja

Veras que con paciencia, en unas horas ya sabes mas de Fox que yo
mismo jeje

No dudes preguntar tus dudas especificas, aunque sean muchas, no
importa.

Si algo caracteriza a la comunidad Fox es su espiritu de apoyo mutuo.

Te recuerdo el enlace del manualito:

https://groups.google.com/group/publicesvfoxpro/browse_thread/thread/d5f33dee02323fba/b6749e17ecaaab75?hl=es&lnk=gst&q=El+humilde+manual#b6749e17ecaaab75

Aquí hay otra documentación muy importante de Fox:

https://docs.google.com/viewer?pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxhcmNoaXZvc3ZmcHxneDo1MWU0M2JiYmJkMjgyYWE1&docid=d5ac43020939d050765e749a2e4bdcda%7C56995ad547feb942e643103d9941fd97&chan=EgAAAAyyqqqoKqLBSvWQkdtdlE3NkHDnL12A4LLkXh53rPeQ&a=v&rel=rar;r2;Visual.Fox.Pro.pdf


Saludos!

Jose carmona

unread,
May 13, 2012, 1:46:09 AM5/13/12
to Comunidad de Visual Foxpro en Español
jejeje si va che muchas gracias nos vemos...

On 13 mayo, 06:46, Fox Learner <thenewinquire...@gmail.com> wrote:
> Fox, es facil amigo... Te lo digo yo que soy un aprendiz.
>
> Con gusto te enviaría mis forms, pero al parecer estoy bloqueado por
> los administradores del foro para poder enviar archivos adjuntos desde
> mi correo.
>
> Vere que puedo hacer para ayudar, pero básicamente es lo que ya
> comentaron arriba.
>
> Entiendo tu preocupación y que al inicio todo parece un caos, pero no
> os desespereis.. jaja
>
> Veras que con paciencia, en unas horas ya sabes mas de Fox que yo
> mismo jeje
>
> No dudes preguntar tus dudas especificas, aunque sean muchas, no
> importa.
>
> Si algo caracteriza a la comunidad Fox es su espiritu de apoyo mutuo.
>
> Te recuerdo el enlace del manualito:
>
> https://groups.google.com/group/publicesvfoxpro/browse_thread/thread/...
>
> Aquí hay otra documentación muy importante de Fox:
>
> https://docs.google.com/viewer?pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxhcm...
>
> Saludos!

Walter R. Ojeda Valiente

unread,
May 14, 2012, 9:27:30 AM5/14/12
to publice...@googlegroups.com
Utiliza "sesión privada de datos" si quieres que las tablas o cursores de cada formulario sean independientes.

Saludos.

Walter.



> Date: Fri, 11 May 2012 19:33:42 -0700
> Subject: [vfp] Re: Como usar 2 formularios a la vez regresando el enfoque al form padre?
> From: thenewin...@gmail.com
> To: publice...@googlegroups.com

Walter R. Ojeda Valiente

unread,
May 14, 2012, 9:36:14 AM5/14/12
to publice...@googlegroups.com
Y si necesitas retornar muchos valores, puedes usar un objeto para eso, o no liberar el formulario sino ocultarlo usando su método HIDE().

Saludos.

Walter.





Date: Sat, 12 May 2012 10:14:37 -0300
From: luism...@gmail.com
To: publice...@googlegroups.com
Subject: Re: [vfp] Como usar 2 formularios a la vez regresando el enfoque al form padre?

Fox Learner

unread,
May 14, 2012, 9:48:05 AM5/14/12
to Comunidad de Visual Foxpro en Español
Gracias Maestro Walter,

Lo probaré a la menor oportunidad.

Jose carmona

unread,
May 15, 2012, 9:48:23 PM5/15/12
to Comunidad de Visual Foxpro en Español
yo sigo con lo mismo =( no hay nadie q me pueda explicar como trabajar
con una tabla virtual dentro d un formset.? T.T es frustante

Walter R. Ojeda Valiente

unread,
May 15, 2012, 9:51:32 PM5/15/12
to publice...@googlegroups.com
No uses formset, no uses formset, no uses formset.

Saludos.

Walter.




> Date: Tue, 15 May 2012 18:48:23 -0700
> Subject: [vfp] Re: Como usar 2 formularios a la vez regresando el enfoque al form padre?
> From: jrca...@gmail.com
> To: publice...@googlegroups.com

Guillermo MDQ

unread,
May 15, 2012, 11:52:10 PM5/15/12
to publice...@googlegroups.com
Ademas de lo que te recomendo Walter, yo te sugeriria una cosa mas:


No uses formset, no uses formset, no uses formset.

Saludos
Guillermo



El martes, 15 de mayo de 2012 22:51:32 UTC-3, Walter R. Ojeda Valiente escribió:
No uses formset, no uses formset, no uses formset.

Saludos.

Walter.




> Date: Tue, 15 May 2012 18:48:23 -0700
> Subject: [vfp] Re: Como usar 2 formularios a la vez regresando el enfoque al form padre?
> From: jrca...@gmail.com

Carlos Miguel FARIAS

unread,
May 16, 2012, 7:38:48 AM5/16/12
to publice...@googlegroups.com
Si antes de este mensaje, usabas formset, porque sabias como usarlo,
segui usandolo.
Si antes de este mensaje, no usabas formset, porque no sabes usarlo,
segui igual, sin saberlo y sin usarlos.
El formset era 'nesario (dijo tio patillas) en foxpro p/DOS o windows,
porque la pila de formularios abiertos admitidos era solo 5/6 y
entonces, si teniamos varios formularios abiertos ese limite se pasaba
rapidamente, como ahora con el READ EVENTS no hay mayormente problema
de pilas, usarlo no es tan necesario y se puede solucionar usando
pageframes o buenos modales y formularios modales. O simplemente
contenedores que se hacen visibles o invisibles.
Saludos: Miguel, La Pampa (RA)

2012/5/16, Guillermo MDQ <gol...@gmail.com>:
> Ademas de lo que te recomendo Walter, yo te sugeriria una cosa mas:
>
> No uses formset, no uses formset, no uses formset.
>
> Saludos
> Guillermo
>
>
> El martes, 15 de mayo de 2012 22:51:32 UTC-3, Walter R. Ojeda Valiente
> escribió:
>>
>> No uses formset, no uses formset, no uses formset.
>>
>> Saludos.
>>
>> Walter.
>>
>>
>>
>>
>> > Date: Tue, 15 May 2012 18:48:23 -0700
>> > Subject: [vfp] Re: Como usar 2 formularios a la vez regresando el
>> enfoque al form padre?
>> > From: jrca...@gmail.com
>> > To: publice...@googlegroups.com

Fox Learner

unread,
May 16, 2012, 9:53:35 AM5/16/12
to Comunidad de Visual Foxpro en Español
Ya ves. El manual oficial habla con "bombo y platillo" de los formsets
y al final la experiencia de estos masters del Fox te dice que eso no
se usa en la practica.

Digamos que Fox no es malo, pero parece ser que la documentación "no
explica todos los trucos" escondidos en el Fox.

¿Quién sabe esos trucos? La gente que lo usa.

Saludos!

Jairo

unread,
May 16, 2012, 5:19:30 PM5/16/12
to publice...@googlegroups.com
Esperen... he usuado formset desde hace mucho en mis aplicaciones , y es la
solución cuando:

Desea accesar datos de la misma tabla y actualizarlos
Deseas tener lista de datos de otras tablas como consulta
Deseas crear menus de impresión.
Deseas validar información de la forma principal
Deseas mostrar una foto de un producto

Como entro y salgo de las formas?

Boton Entrar


IF ThisFormSet.PRECIOS1.Visible && si esta visible
ThisFormSet.PRECIOS1.Hide && la oculto
ELSE && si esta invisible
ThisFormSet.PRECIOS1.Show && la muestro
ENDIF



JM




-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de Fox Learner
Enviado el: miércoles, 16 de mayo de 2012 08:54 a.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: Como usar 2 formularios a la vez regresando el enfoque al
form padre?

Walter R. Ojeda Valiente

unread,
May 16, 2012, 5:24:13 PM5/16/12
to publice...@googlegroups.com
Todo eso lo puedes realizar sin FORMSETs, creo que todos sabemos hacerlo sin necesidad de usarlos.

Saludos.

Walter.

Lewis López

unread,
May 16, 2012, 5:25:44 PM5/16/12
to publice...@googlegroups.com
todo eso se puede hacer sin FORMTSET.

SOLUCIONES PC & REDES
Desarrollo de Software a la medida
Diseño de planos Arquitectónicos
Venta, reparación y mantenimiento de Computadores.
Lewis Oswaldo López Gómez .
Teg. En obras Civiles.
Analista y Programador de sistemas.
Cel: 311 665 0342
Correo:
Skipe 
asaie2010
Córdoba-Colombia



> From: ja...@masalzl.com
> To: publice...@googlegroups.com
> Subject: RE: [vfp] Re: Como usar 2 formularios a la vez regresando el enfoque al form padre?
> Date: Wed, 16 May 2012 16:19:30 -0500
>

Guillermo MDQ

unread,
May 16, 2012, 6:08:41 PM5/16/12
to publice...@googlegroups.com
Coincido con Walter y Lewis, los 5 deseos que listastes se pueden hacer tranquilamente sin usar los formsets.

Saludos
Guillermo

Mario Oviedo

unread,
May 29, 2012, 4:04:58 PM5/29/12
to publice...@googlegroups.com
utiliza gmail, y ahi podes inviar archivos pegados, si utilizas una cuenta gmail podes hacer eso y mucho mas, yo lo utilizo y puedo adjuntar archivos ya sean nuevo correo o uno ya existente

ahora como principiante te recomiendo no utilizar formset
no te digo porque

pero como principiante

y utiliza formularios modal y utiliza sesion privada de datos
cuando llames otro formulario
volve abrir los mismos tablas y cerrarlas y en el primer formulario seguiran abirtas
Reply all
Reply to author
Forward
0 new messages