Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cancelar Un Proceso (https://www.clubdelphi.com/foros/showthread.php?t=7243)

sergio_015 09-02-2004 17:52:13

Cancelar Un Proceso
 
Hola a todos mi problema es el siguiente, resulta q estoy haciendo una copia de varios directorios utilizando la funcion shfileopstruct, esta copia de directorios es hacia muchos equipos de la red, lo que necesito creo q es algo simple, mas no puedo, quiero que el usuario pueda cancelar la copia de archivos e indicarle al sistema que aborte esta copia, ya intente con application.procesmessage, application.terminate pero la maquian ignora estas instrucciones, como puedo hacer q en el transcuro de la copia, se pueda cancelar la coipia de los directorios. Espero me hayan entendido y me puedan ayudar, de antemano gracias.

__cadetill 09-02-2004 20:52:39

No se cómo funciona esa instrucción y, sería de gran ayuda algo de código, pero bueno, supongo que tendrás un bucle while. Si es así, podrías hacer algo como...

Código:

var
  Salir: boolean;

procedure HacerCopia;
begin
  Salir := false;
  while not FinCopia and not Salir do
  begin
    HacerCopia;
    Application.ProcessMessages;
  end;
end;

procedure TmiForm.btnCancelCopiaOnClick(Sender: TObject);
begin
  Salir := true;
end;

Puedes poner tantos ProcessMessages como quieras según cómo funcione el HacerCopia que he puesto en el ejemplo

Espero te sirva

sergio_015 10-02-2004 16:02:51

A probar
 
Ok, muchas gracias por el codigo, lo voy a probar y comentre resulta2

sergio_015 10-02-2004 16:11:09

Gracias
 
Lo he probado y ha funcionado, es una cosa muy simple, la verdad no se me habria ocurrido, gracias por contestar!!!

delphi.com.ar 10-02-2004 16:17:38

Cita:

Empezado por sergio_015
Hola a todos mi problema es el siguiente, resulta q estoy haciendo una copia de varios directorios utilizando la funcion shfileopstruct...

Si no utilizas el flas FOF_SILENT tendría que mostrarte el diálogo con el botón Cancel.

Saludos!


La franja horaria es GMT +2. Ahora son las 05:08:03.

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