Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 显示NSPrintPanel/NSPrintOperation后EDSDK回调不工作_Objective C_Macos_Callback_Edsdk_Nsprintoperation - Fatal编程技术网

Objective c 显示NSPrintPanel/NSPrintOperation后EDSDK回调不工作

Objective c 显示NSPrintPanel/NSPrintOperation后EDSDK回调不工作,objective-c,macos,callback,edsdk,nsprintoperation,Objective C,Macos,Callback,Edsdk,Nsprintoperation,我目前正在开发一个应用程序,使用佳能EDSDK访问我的DSLR,直接打印快照图像。这里的问题是,在我的应用程序显示NSPrintPanel或NSPrintOperation之前,我的代码与EDSDK的接口工作正常。 如果使用“runModalX”或“beginSheetWith”函数显示其中一个,然后再次退出(取消或确定似乎没有什么区别),则EDSDK中的回调似乎停止工作。 我仍然可以与摄像机接口,下载实时查看图像,拍摄图像,但依赖回调的操作不再有效。下面是如何调用NSPrintPanel的示例

我目前正在开发一个应用程序,使用佳能EDSDK访问我的DSLR,直接打印快照图像。这里的问题是,在我的应用程序显示NSPrintPanel或NSPrintOperation之前,我的代码与EDSDK的接口工作正常。 如果使用“runModalX”或“beginSheetWith”函数显示其中一个,然后再次退出(取消或确定似乎没有什么区别),则EDSDK中的回调似乎停止工作。 我仍然可以与摄像机接口,下载实时查看图像,拍摄图像,但依赖回调的操作不再有效。下面是如何调用NSPrintPanel的示例代码:

NSPrintInfo * printInfo = [NSPrintInfo sharedPrintInfo];
NSPrintPanel * printPanel = [NSPrintPanel printPanel];
NSInteger result = [printPanel runModalWithPrintInfo: printInfo];
以下是调用NSPRINT操作的方式:

//view is a NSView with some data added, info is obtained as above
NSPrintOperation * printOp = [NSPrintOperation printOperationWithView: view printInfo: printInfo];
[printOp setShowsPrintPanel: NO];
[printOp runOperation]; 
我的想法是,以某种方式显示此面板会弄乱当前应用程序中发送的消息。Xcode生成的Cocoa应用程序模板已经通过“文件->打印”菜单为我的应用程序提供了打印功能。如果打印窗口以这种方式显示,则会导致相同的错误,仅当我在应用程序运行时在应用程序外部显示打印对话框(例如,来自Safari)时,才会导致EDSDK出错

有人有想法吗?这里的问题可能是什么,甚至是如何解决

另一方面:如果我使用佳能的示例应用程序“Camera Control”并添加上述代码,它最终会遇到相同的问题:实时视图仍然有效,与摄像头的任何交互都有效,但不会调用回调(因此发送“take picture”)该命令甚至可以使快门工作,但由于相机正在等待计算机下载拍摄的图像,因此在该命令工作后不会释放快门)