Shellexecute Only HuindoUS, Tprocess funcionara en caulquier SO.<br><br><div class="gmail_quote">El 10 de noviembre de 2010 19:14, Paola Bruccoleri <span dir="ltr"><<a href="mailto:pbruccoleri@adinet.com.uy">pbruccoleri@adinet.com.uy</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">El 10/11/2010 10:07 p.m., Hector S. Ponce escribió:<div><div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Paola, experimente rapidito con tu codigo y funciona bien. Ahora yo no uso el path de la base sino el alias.<br>
<br>
procedure TDataModule1.BackupDB;<br>
var<br>
BKPFolder, sNombre, sLog, sBack, sPara: string;<br>
p: TProcess;<br>
begin<br>
BKPFolder := ExtractFileDir(Application.ExeName) + '\bkp\';<br>
if not DirectoryExists(BKPFolder) then<br>
MkDir(BKPFolder);<br>
sNombre := 'bkp_' + IBConnection1.DatabaseName + '_' +<br>
FormatDateTime('yyyyMMDD_HHmmss', Now) + '.fbk';<br>
sLog := 'Log_' + IBConnection1.DatabaseName + '_' +<br>
FormatDateTime('yyyyMMDD_HHmmss', Now) + '.log';<br>
sBack := ExtractFilePath(Application.ExeName) + 'gbak.exe';<br>
sPara := ' -v -t -user ' + IBConnection1.UserName + ' -password ' +<br>
IBConnection1.Password + ' -y ' + BKPFolder + sLog +<br>
' ' + IBConnection1.DatabaseName + ' ' + BKPFolder + sNombre;<br>
<br>
if not FileExists(sBack) then<br>
MessageDlg('Aviso', 'Falta ejecutable de backup', mtWarning, [mbOK], 0)<br>
else<br>
begin<br>
p := Tprocess.Create(nil);<br>
p.Options := [poWaitOnExit, poNoConsole];<br>
p.CommandLine := sBack + sPara;<br>
p.Execute;<br>
p.Free;<br>
if FileExists(BKPFolder + sNombre) then<br>
MessageDlg('Aviso', 'Respaldo realizado', mtWarning, [mbOK], 0)<br>
else<br>
MessageDlg('Aviso', 'No se pudo realizar el respaldo', mtWarning, [mbOK], 0);<br>
end;<br>
end;<br>
</blockquote></div></div>
Hola Héctor..<br>
veo que tu usas la clase tProcess.. es más eficiente que hacer un ShellExecute?<br>
Claro, usando shellexecute me limito solo a windows... calculo que con el tprocess queda multiplataforma..<br>
<br>
chauuuuuuuu<div><div></div><div class="h5"><br>
<br>
<br>
<br>
_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Christian<br>