Ver Mensaje Individual
  #3  
Antiguo 14-06-2007
nosferatu177 nosferatu177 is offline
Miembro
 
Registrado: mar 2007
Posts: 42
Reputación: 0
nosferatu177 Va por buen camino
terminar aplicacion

hola cHackAll , en este caso estoy desarrollando un instalador, asi mismo desarrolle tambien los archivos.exe q mando ejecutar; este es parte del codigo q utilice e implemente de acuerdo al codigo q encontre en la liga antes mencionada(sigo en el entendido q este me ayuda a mandar ejecutar un .exe y cuando termine de ejecutarse pueda continuar con el instalador algo asi como poder tener el control de ese proceso):

Código Delphi [-]

    if creabd.Checked=true then
    begin
//***se crea el proceso para esperar a q se termine de ejecutar esta aplicación***//
      FillChar(proc_info, sizeof(TProcessInformation), 0);
      FillChar(startinfo, sizeof(TStartupInfo), 0);
      startinfo.cb := sizeof(TStartupInfo);
      if CreateProcess(nil, PChar(FInstalacion.dircd.Text+'\mysql_odbc\CreaBase.exe '+base+' root sqlpr65'), nil, nil, false, CREATE_DEFAULT_ERROR_MODE + NORMAL_PRIORITY_CLASS, nil, nil, startinfo, proc_info) then
        Timer1.Enabled := True
      else
      begin
        CloseHandle(proc_info.hProcess);
        Application.MessageBox('No se pudo ejecutar la aplicación', 'Error', MB_ICONEXCLAMATION);
      end;
    end;
//ejecutar crear sistema
    FileAttrs := FileAttrs + faArchive;                                         //q busque creasistema.exe
    if not FindFirst(FInstalacion.dircd.Text+'\instalar\CreaSistema.exe', FileAttrs, sr) = 0 then
    begin
      Application.MessageBox('No se encontro la aplicación','Error', MB_ICONEXCLAMATION);
      FindClose(sr);
    end
    else
    begin
//***se crea el proceso para esperar a q se termine de ejecutar esta aplicación***//
      FillChar(proc_info, sizeof(TProcessInformation), 0);
      FillChar(startinfo, sizeof(TStartupInfo), 0);
      startinfo.cb := sizeof(TStartupInfo);
      if CreateProcess(nil, PChar(FInstalacion.dircd.Text+'\instalar\CreaSistema.exe'), nil, nil, false, CREATE_DEFAULT_ERROR_MODE + NORMAL_PRIORITY_CLASS, nil, nil, startinfo, proc_info) then
        Timer1.Enabled := True
      else
      begin
        CloseHandle(proc_info.hProcess);
        Application.MessageBox('No se pudo ejecutar la aplicación', 'Error', MB_ICONEXCLAMATION);
      end;

Última edición por nosferatu177 fecha: 14-06-2007 a las 17:46:11. Razón: no quedo bien el resaltado del codigo
Responder Con Cita