Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cerrar aplicación desde cualquier form (https://www.clubdelphi.com/foros/showthread.php?t=56708)

Peri 25-05-2008 13:55:24

Cerrar aplicación desde cualquier form
 
Hola amigos.

¿Hay alguna forma para que el botón cerrar del segundo, tercero, etc.. formulario de una aplicación pueda cerrar la aplicación? ¿O sólamente el formulario principal tiene ese poder?

Gracias

seoane 25-05-2008 13:59:47

En el evento OnClose de todos los formularios escribe la siguiente instrucción:
Código Delphi [-]
Application.Terminate;

dec 25-05-2008 15:32:01

Hola,

Quisiera añadir que esto habría que pensarlo un poco y ver que es realmente necesario, porque lo que se persigue no es el comportamiento esperado, por decirlo así. Es decir, normalmente, no se cierra una aplicación cuando se cierra cualquiera de sus formularios, sino sólo cuando se cierra el formulario principal. Dicho esto, que tiene que ver con cuestiones "de diseño", me callo la boca que estoy más guapo. ;)

Peri 25-05-2008 19:19:44

Gracias Seoane, intentaré probar lo que dices.

Sí DEC, tienes razón. Normalmente los demás formularios son accesorios, por así decirlo, del principal formulario. Como sabes que estoy emulando Neobook con Delphi (que por cierto me he enterado que no está echo con Delphi sino con Visual C), intento comprender qué es lo que Dave ha echo cuando se crea páginas en una publicación.

Creía, en un principio, que no utilizaba formularios puesto que éstos no cierran la aplicación, y creía que utilizaba algún componente como un Panel emulando las páginas, ocultando y mostrando cada vez que se navegaba por ellas. Pero con lo dicho por Seoane, ahora estoy dudando.

Por otra parte, creo que las páginas de una publicación se cargan todas a la vez en el sistema, de lo contrario no se podrían utilizar variables de la primera página en la página 48, por ejemplo. Y si utiliza formularios, no sé si cuando se destruye un formulario también se destruyen sus variables globales imposibilitando su utilización en cualquier otro formulario.

No sé si es ésta la forma más fácil de hacer en Delphi, por ejemplo, una presentación, tal como las hace Neobook.

¿Qué opinas dec?

dec 25-05-2008 19:57:17

Hola,

Cita:

Empezado por Peri
Como sabes que estoy emulando Neobook con Delphi (que por cierto me he enterado que no está echo con Delphi sino con Visual C)

Hum... pues yo juraría que en su momento trabajé con un plugin que era una especie de "asistente" para Neobook, y que este accedía a componentes como "TMainMenu" del propio Neobook... no sé. De hecho podemos usar el programa "Curioso" del compañero Domingo Seoane, y ver que, efectivamente, nos lista los ejecutables de Neobook como hechos con Delphi. ;)

Respecto de cómo tratar de imitar a Neobook en el asunto de las páginas, de modo que se pueda hacer una especie de presentación, creo que, como siempre, hay muchas posibles soluciones. Lo primero que se me ocurre es utilizar un panel en el formulario principal, de modo que podamos mostrar ahí distintos formularios.

Pero no estoy puesto en este asunto, lo reconozco. Lo digo porque no me extrañaría nada que contáramos con algunos componentes de terceros... o con una técnica más o menos depurada para llevar a cabo presentaciones usando Delphi, si bien tampoco sé si sería la herramienta más apropiada para ello: otra cosa es que pueda hacerse.

A ver si algún compañero puede añadir algo en este sentido, si ha llevado a cabo alguna vez una especie de presentación y ha utilizado Delphi para ello, si puede ofrecer algunas referencias, enlaces, observaciones, en fin.

Peri 26-05-2008 12:24:34

Pues tienes razón, he leído lo de nuestro compañero Seoane y su apliación Curiosa, y me inclino lo dicho por Seoane.

Por otra parte, agradecer a Seoane la información. He estado probando dos formularios y el segundo cierra perfectamente la aplicación. Sigo dudando que se utilice formularios como páginas, puesto que ahora si movemos de lugar el segundo formulario y navegamos hacia el primero, se ve un desplazamiento de los formularios, algo que no ocurre con Neobook. Con lo cual, todo parece que Neobook lo hace en un único formulario.

No sabía dec que en un componente Panel se pueda mostrar dentro formularios. Ya me dirás cómo....

Por lo poco que sé de Delphi lo único que se me ocurre es lo contado anteriormente, utilizar Paneles, puesto que actúan como contenedores, y en ellos crear los diferenes objetos. Y modificando las propiedades de éstos podemos mostrarlos y ocultarlos.

No creo que una herramienta como Delphi no esté preparada para hacer algo tan simple como una presentación. Si lo hace Neobook de una forma muy fácil, y tú lo sabes, ¿no lo va hacer Delphi?. Otra cuestión es saber cómo hacerlo, o la mejor forma de hacerlo. A ve si hay alguien que nos pueda aclarar este asunto...


La franja horaria es GMT +2. Ahora son las 01:07:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi