function TCanonCamera.DownloadLiveData(Image:TImage) : Boolean; var stream : EdsStreamRef; evfImage : EdsEvfImageRef; FileName : String; begin Result := False; FileName := TimeToStr(Now()); FileName := StringReplace(FileName,':','',[rfReplaceAll]); FileName := 'D:\Project\CCCp 0.0.17\bin\LV'+FileName+'.jpg'; { create file stream } stream := nil; Self.LastError := EdsCreateFileStream( PChar(fileName), kEdsFileCreateDisposition_CreateAlways, kEdsAccess_ReadWrite, stream ); if Self.LastError <> EDS_ERR_OK then Exit; evfImage:=nil; Self.LastError := EdsCreateEvfImageRef(stream, evfImage); if Self.LastError <> EDS_ERR_OK then begin EdsRelease(stream); Exit; end; Self.LastError := EdsDownloadEvfImage(Self.FRef , evfImage); if Self.LastError <> EDS_ERR_OK then begin EdsRelease(evfImage); EdsRelease(stream); Exit; end; Self.LastError := EdsRelease(evfImage); if Self.LastError <> EDS_ERR_OK then begin EdsRelease(stream); Exit; end; Self.LastError := EdsRelease(stream); if Self.LastError <> EDS_ERR_OK then Exit; Result := True; end;