Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 02-12-2012
[birmain] birmain is offline
Miembro Premium
 
Registrado: feb 2005
Ubicación: Albacete - España
Posts: 59
Poder: 22
birmain Va por buen camino
Utiliza esta función para ejecutar desde Delphi:

Código Delphi [-]
 function WinExecAndWait32(FileName:String; Visibility:integer):integer;
 var
   zAppName:array[0..512] of char;
   zCurDir:array[0..255] of char;
   WorkDir:String;
   StartupInfo:TStartupInfo;
   ProcessInfo:TProcessInformation;
   Resultado: DWord;
 begin
   StrPCopy(zAppName,FileName);
   GetDir(0,WorkDir);
   StrPCopy(zCurDir,WorkDir);
   FillChar(StartupInfo,Sizeof(StartupInfo),#0);
   StartupInfo.cb := Sizeof(StartupInfo);

   StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
   StartupInfo.wShowWindow := Visibility;
   if not CreateProcess(nil,
     zAppName,                      { pointer to command line string }
     nil,                           { pointer to process security attributes}
     nil,                           { pointer to thread security attributes}
     false,                         { handle inheritance flag }
     CREATE_NEW_CONSOLE or          { creation flags }
     NORMAL_PRIORITY_CLASS,
     nil,                           { pointer to new environment block }
     nil,                           { pointer to current directory name }
     StartupInfo,                   { pointer to STARTUPINFO }
     ProcessInfo) then Result := -1 { pointer to PROCESS_INF }

   else begin
     WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
     GetExitCodeProcess(ProcessInfo.hProcess,Resultado);
     Result := Resultado;
   end;
 end;

// Puedes invocarla siguiendo este formato:

procedure EjecutaBackupCopia;
begin
    LineaLog('======= COMIENZO EJECUCION GBAK ===========================');
    resultado := WinExecAndWait32(CadenaBackupCopia,SW_HIDE);
    if resultado = 0 then
    LineaLog('======= FINAL EJECUCION GBAK  ¡ ok ! === (resultado = '+IntToStr(resultado)+')') else
    LineaLog('======= LA UTILIDAD GBAK HA TERMINADO DE FORMA ERRÓNEA ====');
end;

A mi me da excelentes resultados, no se si será la solución a tu problema.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
backup y restore santi33a PostgreSQL 2 16-05-2012 20:25:28
Backup y Restore de BD en SQL Server con C# Lester .NET 2 07-02-2009 13:49:32
Backup/Restore HectorMendez SQL 1 18-09-2007 09:25:09
Backup y restore chipsoni SQL 2 08-05-2006 10:20:56
Back Restore o Backup cmgenny Varios 1 04-05-2003 12:19:23


La franja horaria es GMT +2. Ahora son las 09:19:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi