Hola xFas.
Como te esta indicando
Casimiro es la forma correcta de llamar a
gbak, seguramente el problema este en la llamada a
ShellExecute o exista alguna ruta incorrecta.
De este modo me funciona sin problemas:
Código Delphi
[-]
...
uses ShellApi;
procedure MakeGbak(const Origen, Destino: string);
var
lpDirectory,
lpParameters: PChar;
begin
lpDirectory := PChar(GetEnvironmentVariable('ProgramFiles') + '\Firebird\Firebird_2_5\bin');
lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" ' + Origen + ' ' + Destino);
ShellExecute(Form1.Handle,
'open',
'gbak.exe',
lpParameters,
lpDirectory,
SW_HIDE);
end;
Tomá en cuenta que el ejemplo está basado en
Firebird 2.5 para tomar la ubicación de
gbak
Saludos.
