Página 1 de 1

Application:Terminate() ¿Termina la aplicación?

Publicado: Vie Jul 01, 2005 10:51 am
por joseluis
Hola,
En un punto inicial del programa tengo puesta esta linea:
Application:Terminate()
Según leo en la documentación
TApplication:Terminate
Finaliza la aplicación.
Tipo
Estándar
Parámetros
Ninguno
Valor Retorno
NIL
Sin embargo, continúa la ejecución del programa.
Os mando por privado el proyecto.
Saludos,
José Luis Capel

Application:Terminate() ¿Termina la aplicación?

Publicado: Vie Jul 01, 2005 12:37 pm
por jfgimenez
José Luis,
puedes usar QUIT ;-)
--
Un saludo,
José F. Giménez

Application:Terminate() ¿Termina la aplicación?

Publicado: Vie Jul 01, 2005 12:41 pm
por joseluis
José,
>
> puedes usar QUIT ;-)
>
Entonces, Application:Terminate(), ¿que hago?
Saludos,
José Luis Capel

Application:Terminate() ¿Termina la aplicación?

Publicado: Vie Jul 01, 2005 12:51 pm
por jfgimenez
José Luis,
> Entonces, Application:Terminate(), ¿que hago?
es distinto. Application:Terminate() provoca la salida del programa, sí,
pero "al estilo windows". Lo que quiero decir es que se sigue ejecutando
código y procesando los eventos que quedaran pendientes antes de esa
llamada. Y el programa realmente termina porque se cierran todas las
ventanas y no queda ninguna pendiente.
En cambio, en el ejemplo que me has enviado, no hay ninguna ventana abierta
en ese momento, pero sí hay código debajo de donde tienes la llamada. Ese
código se ejecuta, y consiste en crear más ventanas.
Por otro lado, QUIT hace lo que siempre ha hecho: detener la ejecución del
programa, sin ejecutar ni una línea más. Bueno, en realidad se produce una
salida "ordenada" del programa, cerrando los ficheros que tengan abiertos
los RDD, ejecutando los EXIT PROCEDURE, etc.. Pero desde luego que no se
ejecuta el código que haya debajo de QUIT.
--
Un saludo,
José F. Giménez

Application:Terminate() ¿Termina la aplicación?

Publicado: Vie Jul 01, 2005 12:56 pm
por joseluis
José,
Entonces es un Application:Terminate() y justo después un Quit, no?
Sugiero que modifiqueis la ayuda con la explicación que me acabas de dar.
Saludos y gracias!!
José Luis Capel
Jose F. Gimenez escribió:
> José Luis,
>
>
>>Entonces, Application:Terminate(), ¿que hago?
>
>
> es distinto. Application:Terminate() provoca la salida del programa, sí­,
> pero "al estilo windows". Lo que quiero decir es que se sigue ejecutando
> código y procesando los eventos que quedaran pendientes antes de esa
> llamada. Y el programa realmente termina porque se cierran todas las
> ventanas y no queda ninguna pendiente.
>
> En cambio, en el ejemplo que me has enviado, no hay ninguna ventana abierta
> en ese momento, pero sí­ hay código debajo de donde tienes la llamada. Ese
> código se ejecuta, y consiste en crear más ventanas.
>
> Por otro lado, QUIT hace lo que siempre ha hecho: detener la ejecución del
> programa, sin ejecutar ni una lí­nea más. Bueno, en realidad se produce una
> salida "ordenada" del programa, cerrando los ficheros que tengan abiertos
> los RDD, ejecutando los EXIT PROCEDURE, etc.. Pero desde luego que no se
> ejecuta el código que haya debajo de QUIT.
>

Application:Terminate() ¿Termina la aplicación?

Publicado: Vie Jul 01, 2005 1:01 pm
por jfgimenez
José Luis,
> Entonces es un Application:Terminate() y justo después un Quit, no?
No te hace falta llamar a Application:Terminate(), ya que no hay ninguna
ventana en ese momento.
> Sugiero que modifiqueis la ayuda con la explicación que me acabas de dar.
Ok.
--
Un saludo,
José F. Giménez