0
我試圖使用Canon EDSDK 2.10中的EdsSetProgressCallback
函數來通知用戶圖像保存完成。我已將inProgressOption
參數設置爲kEdsProgressOption_Done
。問題是,成功保存後,沒有執行任何操作。你能告訴我我是否正確實施了這個功能嗎?如何正確實現EDSDK的EdsSetProgressCallback功能?
我的回調函數:
EdsError EDSCALLBACK CManEosDlg::ProgressFunc (EdsUInt32 inPercent, EdsVoid* inContext, EdsBool* outCancel) {
CManEosDlg *pobj = (CManEosDlg *)inContext;
CStatic *pProgress=(CStatic*)pobj->GetDlgItem(IDC_LABEL);
pProgress->SetWindowText("Image saved");
return EDS_ERR_OK;
}
片段OD圖像保存功能:圖像保存後
EdsStreamRef DstStreamRef;
EdsError err = EdsCreateFileStream(path , kEdsFileCreateDisposition_CreateAlways , kEdsAccess_Write , &DstStreamRef);
if(err == EDS_ERR_OK) {
err = EdsSetProgressCallback(DstStreamRef, ProgressFunc, kEdsProgressOption_Done, this);
if(err == EDS_ERR_OK) {
err = EdsSaveImage(_imageModel->getImageObject(), inImageType , inSaveSetting , DstStreamRef);
}
}
EdsRelease(DstStreamRef);
後者返回EDS_ERR_OK從EdsSetProgressCallback
但ProgressFunc
永遠不會被調用。我已經通過將消息框放在那裏來檢查它);