FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Cómo prevenir que se cierre???
Que tal:
Estoy programando una aplicación que no contiene forms, por lo que todo va en el archivo .dpr. El problema es, que una vez ejecutadas las líneas entre begin y end. la aplicación termina. El destino de esta aplicación es contener un servidor Gopher (con el componente de la librería INDY). La idea es simplemente una aplicación que contenga a ese servidor activo sin cerrarse, y que dicha aplicación no sea un servicio ni una consola. Este es el código completo de la aplicación: Código:
program ServidorGopher; uses IdGopherServer; {$R *.res} var Server: TidGopherServer; begin Server := TidGopherServer.Create(nil); Server.Active := True; end. Muchísimas gracias de antemano
__________________
Un cordial saludo. ~~~~~~~~~~~~~~~~~~ José A. Gómez Martín pandre@arsystel.com |
#2
|
||||
|
||||
algo rudimentario puede ser:
Código:
program ServidorGopher; uses IdGopherServer; {$R *.res} var Server: TidGopherServer; begin Server := TidGopherServer.Create(nil); Server.Active := True; repeat until false; end. ahora, esto te va a cargar el sistema con un ciclo infinito que consumirá al procesador... Es mas sano, diria yo, poner el componente en un form, y que quede a la espera hasta que el form sea cerrado, no te parece? hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Cita:
Yo creo que tu solución es más adecuada aunque con alguna puerta de escape. Quizá colocando un icono en la bandeja del sistema que permita cerrar la aplicación. De cualquier manera, al usar un formulario, como todo programa Windows, será, a final de cuenta un ciclo: Código:
repeat PickMessage; TranslateMessage; ProcessMessage; until Terminated; Todo esto claro, sin saber por qué no desea un servicio. // Saludos |
#4
|
||||
|
||||
Cita:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
||||
|
||||
Cita:
Digamos que a tu ciclo sólo le haría falta un Application.ProcessMessages. Teniendo en cuenta que ProcessMessages se reduce a Código:
while ProcessMessage(Msg) do ; Código:
repeat HandleMessage; until Terminated; Código:
if not ProcessMessage(Msg) then Idle(Msg); // Saludos |
#6
|
||||
|
||||
Pues GRACIAS!!! has resultado un muy buen defensor... y me has convencido.. me quedo con MI propuesta...
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|