A ver...
Código Delphi
[-]
procedure TFrameDocumentosEscaner.grImagenesDblClick(Sender: TObject);
const
_rundll32exe_ = 'RunDll32.exe';
_ImageView_Fullscreen_ = 'ImageView_Fullscreen';
_Shimgvwdll_ = 'SHIMGVW.DLL';
var
cFile,
cProgramaVisor, cRun, cParam : string;
mFile : TFileName;
begin
inherited;
if qrImagenes.RecordCount=0 then
exit;
cFile:='';
cProgramaVisor:='';
cRun:='';
cParam:='';
if qrImagenes.FieldByName('NOMBREFICHERO').asString='' then cFile := ExtractFilePath(ParamStr(0))+'tmp.jpg'
else cFile := ExtractFilePath(ParamStr(0))+'tmp'+ExtractFileExt(qrImagenes.FieldByName('NOMBREFICHERO').asString);
TBlobField(qrImagenes.FieldByName('IMAGEN')).SaveToFile( cFile );
cProgramaVisor := BuscarEjecutableAsociado(cFile);
mFile := TFileName( #34+cFile+#34 );
if pos(_Shimgvwdll_,AnsiUpperCase(cProgramaVisor))>0 then
begin
cRun := cProgramaVisor;
cProgramaVisor := ExtractFilePath(cProgramaVisor)+_rundll32exe_;
cParam := cRun + ' '+_ImageView_Fullscreen_+' ';
mFile := TFileName( cFile ); end;
if cRun<>'' then
RunAndWaitShell( cProgramaVisor, cParam+mFile, Sw_ShowNormal )
else
RunAndWaitShell( cProgramaVisor, mFile, Sw_ShowNormal );
DeleteFile(cFile);
end;
Ahora a quitar cosas y a cambiar
