2012-10-08 28 views
1

在EDSDK中,如果在圖像傳輸過程中發生錯誤 (即連接丟失,應用程序錯誤...),當應用程序重新啓動並重新連接到 設備時,無法拍一張新照片因爲 EdsSendCommand(hdev,kEdsCameraCommand_TakePicture,0)總是返回 EDS_ERR_DEVICE_BUSY。Canon EDSDK設備忙不能取消一半完成的圖像傳輸

這是因爲之前的圖像數據在相機內存中,即使我關閉了 相機。唯一的解決辦法是放下電池! 有沒有人有更好的解決方案(softwtare)發送一種RESET和 釋放內存中的所有圖像數據等待傳輸,並讓攝像機進入正常運行狀態。

我運行在以下模式 的SDK我第一次的屬性設置爲 EdsdkWrapper.PropID_SaveTo:EdsdkWrapper.EdsSaveTo.Host

EdsSendCommand EdsdkWrapper.CameraCommand_TakePicture

的問題:如何將相機後突然復位終止,以便它可以忘記所有已完成的所有轉帳?請注意,突然終止後,我沒有IntPtr引用。 (即我不能調用EdsdkWrapper.EdsDownloadComplete(imageReference))

回答

1

這可能是因爲您的程序在EdsTerminate()函數執行之前退出。在程序終止之前,應確保執行此功能。或者更粗略的解決方案是使用EdsTerminate函數創建另一個程序。如果發生突然終止,您可以在再次運行應用程序之前運行此程序。

相關問題