Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-05-2007
TONIAM TONIAM is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 38
Poder: 0
TONIAM Va por buen camino
Abortar un proceso

Hola foro, tengo una ventana modal, la cual cuando se crea en el evento del formulario FormActivate empieza un proceso de lectura de un fichero realizando varias cosas, a la ventana le puesto un boton de cancel, pero por mucho que le pulso no hace nada hasta que acaba el proceso, hay o conoceis alguna manera de cuando pulse el boton de cancelar, finalize el proceso aunque no haya terminado y cierre la ventana.

Muchas gracias y un saludo a todos
Responder Con Cita
  #2  
Antiguo 30-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Si la lectura es un bucle, puedes poner una bandera (variable booleana) para cancelar la carga, dentro del bucle debes poner un Application.ProcessMessages.

En caso de que la carga se realice mediante un XX.LoadFromFile ... poco podrás hacer (de momento no se me ocurre nada).

Cuanta más información aportes, mejor.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 30-05-2007
TONIAM TONIAM is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 38
Poder: 0
TONIAM Va por buen camino
Gracias por tu aportacion, te especifico un poco mas, es como tu dices es un bucle while de lectura de un fichero y mi intencion es desde un boton del dialog poder cancelar el bucle y cerrar la ventana, puedes especificarme un poco mas como puedo poner lo de la bandera que me dices y lo de la Application.ProcessMessages. Gracias por tu respuesta, otra cosa que no te comentado el formulario ya tiene un boton de cancelar, pero aunque lo aprete no hace nada, ni siquiera deja apretarlo hasta que acabe el proceso.

Gracias
Responder Con Cita
  #4  
Antiguo 30-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Suponiendo que tu bucle es algo como

Código Delphi [-]
while condiciones do
begin
  operaciones;
end;

lo que propone Lepe es que lo modifiques así:

Código Delphi [-]
Cancelado := false;

while condiciones and not Cancelado do
begin
  Application.ProcessMessages;

  operaciones;
end;

Application.ProcessMessages permite que tu formulario procese los mensajes en cada vuelta del ciclo, de manera que puedas orpimir el botón de Cancelar. En el evento OnClick de ese botón pondrías:

Código Delphi [-]
Cancelado := true;

// Saludos
Responder Con Cita
  #5  
Antiguo 30-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Aquí deje un ejemplo de como hacer algo similar pero usando threads.

http://www.clubdelphi.com/foros/show...67&postcount=7
Responder Con Cita
  #6  
Antiguo 31-05-2007
TONIAM TONIAM is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 38
Poder: 0
TONIAM Va por buen camino
Gracias a todos, he solucionado el problema de la manera que me comento roman y Lepe lo unico que he detectado que no se muestra como se apreta el boton, pulsas y al cabo de unos segundos se cierra, pero no vez el efecto de pulsar el boton y tampoco es automatico, no se si me explico.

Nuevamente gracias a todos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
EXCEPTION con parametros u otro comando para abortar fcios Firebird e Interbase 10 31-03-2007 08:39:16
¿como abortar ejecución de eventos? pjjorda Varios 5 06-06-2006 20:59:59
Como Abortar mi APP sin q aparescan Mens de ERROR pcicom OOP 5 22-03-2005 09:22:13
Abortar un Ciclo While jmedina Varios 2 08-03-2005 20:48:17
abortar inmediatamente acrophet Varios 4 20-10-2003 18:07:18


La franja horaria es GMT +2. Ahora son las 05:45:15.


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
Copyright 1996-2007 Club Delphi