Hola... Tengo 2 problemas con formularios.

Hice una pequeña aplicación y se me presentan 2 problemas con los formularios.
1. ¿Por qué cuando desde un menú llamo a un formulario (Do Form pedidos) y se abre, cuando lo vuelvo a llamar
se vuelve a abrir y tengo 2 o más formularios abiertos? Teóricamente no se tendría que abrir una segunda vez por que ya esta abierto.
2. Cree dos formularios desde el form1 llamo al form2 con un botón (Cerrar) con esta sentencia:
Thisform.Relese()
Do Form form2.scx
Y desde el form2 otro botón (cerrar) con esta sentencia
Thisform.Relese()
Do Form form1.scx
Para que cuando cierro uno automáticamente me muestre el otro. El problema es que me muestra el segundo pero no me cierra el primero. Siempre tengo los dos formularios en pantalla.
Desde ya gracias por todo.
Alejandro Merlo
[email protected]

1 respuesta

Respuesta
1
No olvides que la ayuda de vfp existe para ser leída ¿de acuerdo?.
1. No hay un supuesto por el que "teóricamente" deba abrirse un formulario una sola vez, por el contrario, en ambiente windows es válido tener múltiples instancias de un mismo objeto, al menos está estipulado así en la POO.
Sin embargo para evitar instanciar una forma más de una vez, puedes hacer lo siguiente:
if Wexist('NombreForma') Then
Activate Windows Nombreforma
Else
Do form nombreform.scx
Endif
2. No es la forma correcta de hacerlo, la forma correcta sería:
a) Coloca lo siguiente en el método detroy de tu formulario.
Do Form form2. Scx
b) Y el botón "cerrar" en su método click
Release Thisform
c) Hacer lo mismo en ambos formularios que se llaman entre si.
Está bien miron, te prometo que voy a seguir intentando lo que me explicas hasta que me salga.
Gracias por tu nueva respuesta.
Al parecer esta pregunta ya te la había contestado y te dije lo mismo, si te marca errores no es responsabilidad mía sino tuya ya que partimos desl supuesto de que tu sabes lo que estás haciendo y que el código proporcionado es una guía más no el código que debes de cortar y pegar para solucionar tus problemas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas