Quiero decir que al usar la función
Código Delphi
[-]
function EjecutarPrograma(Programa:String;Esperar:Boolean=True):Boolean;
var ProcInfo:TProcessInformation;
Info:TStartupInfo;
begin
FillChar(Info,SizeOF(Info),0);
Info.cb:=SizeOf(Info);
Info.dwFlags:=STARTF_USESHOWWINDOW;
Info.wShowWindow:=SW_HIDE;
Result:=CreateProcess(nil,PChar(Programa),nil,nil,False,0,nil,nil,Info,ProcInfo);
if Esperar then
while WaitForSingleObject(ProcInfo.hProcess,100)=Wait_TimeOut do
begin
Application.ProcessMessages;
if Application.Terminated then Break;
end;
end;
En la parte final,
Código Delphi
[-] if Esperar then
while WaitForSingleObject(ProcInfo.hProcess,100)=Wait_TimeOut do
begin
Application.ProcessMessages;
if Application.Terminated then Break;
end;
Al entrar al
While no espera a que termine el Restore. Lo digo porque al hacerlo con el .bat, el restore tarda unos segundos, y con el
While acaba de forma inmediata
Un saludo