PDA

Ver la Versión Completa : Varios backups


molinero1
09-05-2007, 18:42:24
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:
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


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.