Ir al contenido


Foto

Lazarus + TProccess


  • Por favor identifícate para responder
1 respuesta en este tema

#1 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 01 abril 2011 - 12:05

Bueno, estoy desarrollando una pequeña interfaz para dar nombre a un archivo y mostrar el status de compresión a través de 7zip, mi problema es: ¿Cómo detener la conversión correctamente en cualquier momento? o en su defecto mandar ctrl + c para finalizar, y es que cuando finalizo mi aplicación el proceso 7z.exe continua, si lanzo nuevamente la aplicación y finalizo aparece nuevamente 7z.exe en mi monitor de tareas con lo q puedo ver dos procesos 7z.exe y así sucecivamente claro con archivos distintos cada uno.
mi código es:


delphi
  1.   Memo1.Lines.Clear;
  2.   try
  3.     aProcess := TProcess.Create(nil);
  4.     cmd:=Format('"7z" a "c:\resp\RESP_%s_%s_%s.7z" "L:\SIBANCS\DAT\" -t7z -mx=2 -mtc=on -xr!RESPCONT* -xr!RESPDIA*',
  5.                                             [Edit1.Text,
  6.                                               FormatDateTime('ddmmyy', DateEdit1.Date),
  7.                                               FormatDateTime('hhnnss', Now)]);
  8.     Memo1.Lines.Add(cmd);
  9.     AProcess.CommandLine :=cmd;
  10.     AProcess.Options := AProcess.Options + [poNoConsole, poUsePipes];
  11.     AProcess.Execute;
  12.     Application.ProcessMessages;
  13.     Memo1.Lines.LoadFromStream(AProcess.Output);
  14.   finally
  15.     AProcess.Free;
  16.   end;
  17.   Memo1.Lines.Add(''); 
  18.  
  19. procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
  20. begin
  21.  
  22.   //No se que colocar aquí;
  23. end;


gracias y saludos.


  • 0

#2 German

German

    Member

  • Miembros
  • PipPip
  • 40 mensajes

Escrito 01 abril 2011 - 07:46

AProcess.Terminate(0); ??
  • 0




IP.Board spam blocked by CleanTalk.