Vale ... al final he optado por lo que me has dicho ... ya que no encuentro una forma mas elegante de hacerlo
Código Delphi
[-]if fileexists (ExtractFileDir(paramstr(0)) + '\temp.pdf') then
begin
if DeleteFile(ExtractFileDir(paramstr(0)) + '\temp.pdf') then
begin
TBlobField(ADOTable1.fieldbyname('fichero')).SaveToFile(ExtractFileDir(paramstr(0)) + '\temp.pdf');
shellexecute(Handle,'open', pchar(ExtractFileDir(paramstr(0)) + '\temp.pdf'), nil, nil, SW_SHOWMAXIMIZED);
end;
end
else
begin
TBlobField(ADOTable1.fieldbyname('fichero')).SaveToFile(ExtractFileDir(paramstr(0)) + '\temp.pdf');
shellexecute(Handle,'open', pchar(ExtractFileDir(paramstr(0)) + '\temp.pdf'), nil, nil, SW_SHOWMAXIMIZED);
end;
Muchas gracias.