Foros Club Delphi

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

molinero1 09-05-2007 18:42:24

Varios backups
 
Tengo varias bases de datos, que son archivos .gdb y lo que quiero es hacer un backup de cada una, con un for lo consigo, pero me gustaría que hasta que no termina de crearse el primer .bck, que no empiece a crear el segundo backup. Hay alguna forma de averiguar cuando esta del todo creado el primer backup?

No me gustaría poner ningun sleep o timer, ya que ahora uso bases de datos de 100 mb y me gustaría que el programa fuera capaz de hacerlo con bases de datos de mas de 1 GB, sin que pierda eficiencia. Gracias.

Lepe 09-05-2007 20:11:50

supongo que la copia se realiza llamando a gfix u otro utilitario con ShellExecute, si es así, busca en el foro por runAndWait.

En caso contrario, explica lo que tienes dentro de es bucle for.

Saludos

molinero1 10-05-2007 10:20:40

Dentro del for tengo unas lineas para llenar un .bat y luego ejecutarlo, en cada pasada, las lineas para llenar el .bat cambian, y me gustaria que entre pasada y pasada se esperara a terminar el backup.

molinero1 10-05-2007 10:48:39

Código Delphi:
Código Delphi [-]
procedure ExecuteProcessAndWait(ProcessName: String);
var
  StartInfo: TStartupInfo;
  ProcInfo: TProcessInformation;

begin
  FillChar(StartInfo, SizeOf(StartInfo), 0);
  StartInfo.cb := SizeOf(StartInfo);

  if CreateProcess(PChar(ProcessName), nil, nil, nil, false, 0, nil, nil, StartInfo, ProcInfo) then
    WaitForSingleObject(ProcInfo.hProcess, INFINITE);
end;

Se supone que debo utilizar eso, pero no se donde poner el .bat que quiero usar dentro de ese trozo de código, si alguien me puede ayudar, gracias.

Lepe 10-05-2007 11:32:52

Parece una versión distinta de la que yo hablaba, pero en fin, espero que funcione

Código Delphi [-]
ExecuteProcessAndWait('c:\mibat.bat');

saludos

molinero1 10-05-2007 11:57:57

Muchas gracias, lo he estado provando en un form a parte, y me iba tal y como yo quería, es mas, ahora que me he fijado, solo tengo que cambiar el winexec por el ExecuteProcessAndWait. Muchas gracias.


La franja horaria es GMT +2. Ahora son las 22:51:44.

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