Hola de nuevo José.
De este modo me funciona correcto:
Código Delphi
[-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
lpOperation, lpFile, lpParameters, lpDirectory: PChar;
begin
if not FileExists(EditTargetName.Text) then
with TPanel.Create(nil) do
try
Caption:= 'Realizando copia de seguridad, aguarde un momento por favor...';
Font.Size:= 14;
Font.Name:= 'Arial';
Width:= 600;
Height:= 70;
Left:= (Self.ClientWidth - Width) div 2;
Top:= (Self.ClientHeight - Height) div 2;
BevelInner:= bvNone;
BevelOuter:= bvNone;
BevelWidth:= 1;
BorderStyle:= bsSingle;
Ctl3D:= False;
Parent:= Self;
lpOperation:= 'open';
lpFile:= 'gbak.exe';
EditPathAndBDName.Text:= EditPathAndBDName.Text + ' ';
lpParameters:= PChar('-v -t -user SYSDBA -password "masterkey" ' +
EditPathAndBDName.Text + EditTargetPath.Text + EditTargetName.Text);
lpDirectory:= PChar(GetEnvironmentVariable('ProgramFiles')+'\Firebird\Firebird_2_5\bin');
ShellExecute(Handle, lpOperation, lpFile, lpParameters, lpDirectory, SW_HIDE);
finally
Free;
end;
end;
Saludos.