Ver Mensaje Individual
  #5  
Antiguo 26-01-2009
poyo poyo is offline
Miembro
 
Registrado: ene 2009
Posts: 47
Reputación: 0
poyo Va por buen camino
are you sure?

qué hace p.bat? estás seguro que se está ejecutando? porque si ejecutas la función de arriba el control NO es devuelto hasta que lo que mandas a ejecutar no termina.

Haz una prueba y verás:

ShellExec('cmd','', SW_NORMAL, true);
Application.Terminate;

Hasta que no escribes "exit" en la consola de comandos que se levanta, el programa no termina...

otra prueba:

hice un archivo p.bat conteniendo lo siguiente:

echo Hola ClubDelphi! > c:\archivo.prueba

Luego en un proyecto nuevo, en el OnFormCreate puse:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  cadena: string;
  F: TextFile;
begin
  ShellExec('c:\p.bat','', SW_HIDE, true);

  if FileExists('c:\archivo.prueba') then
  begin
    AssignFile(F, 'c:\archivo.prueba');
    Reset(F);
    Readln(F, cadena);
    CloseFile(F);
    ShowMessage('Al archivo lo veo y dice: '+ cadena);
    DeleteFile('c:\archivo.prueba');
  end;

  Application.Terminate;
end;

Última edición por poyo fecha: 26-01-2009 a las 15:10:19. Razón: un error
Responder Con Cita