RE:Guardar archivo PDF en Interbase
Claro, bueno, yo utilizo los campos blob para guardar archivos de reportes en un administrador, para guardar el archivo, en delphi lo hago mas o menos asi, supongamos tu pdf, los campos persistentes tipo blob tienen un par de funciones y propiedades para manejar flujos de datos como streams:
cdsMiDataSetMICAMPOBLOB.LoadFromFile('/path/delarchivo/archivo.pdf');
cdsMiDataSet.Post; // si es necesario
cdsMiDataSet.ApplyUpdates(-1);
Ahi directamente lo va a guardar a la base de datos, pero tu campo blob debe ser binary, no memo, o sea no texto, debe ser binario.
Para recuperarlo tiene una funcion que permite guardar el flujo de datos obtenido o guardado en un campo:
cdsMiDataSet.Open; // abrimos el dataset si fuera necesario
cdsMiDataSetMICAMPOBLOB.SaveToFile('/path/delarchivo/temp.pdf'); // por ejemplo en un archivo temporal
Luego lo puedes abrir con alguna funcion como ShellExecute, o cualquier otro metodo:
ShellExecute(Form1.Handle, nil, '/path/delarchivo/temp.pdf',
nil, nil, SW_SHOWNORMAL); // Es solo un ejemplo
Cualquier cosa me avisas, saludos.