本文介绍了EDSDK回调不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个工作的命令行应用程序,使用EDSDK v2.13。
但是,当我注册回调,有一个属性事件, / p>
我已经纠正了这个循环,如下所示:
while _kbhit())
{
EdsOpenSession(camera);
Sleep(10);
EdsCloseSession(camera);
}
这似乎很可怕。
解决方案
如果您在Windows上使用EDSDK,一个Windows消息循环在你的主线程,否则回调不会发生。 (这是因为EDSDK使用过时的COM STA线程模型,而不是真正的线程。)
I have a working command line application, using EDSDK v2.13.
However, when I register callbacks, there is a burst of property events then nothing.
I have remedied this a loop like this:
while(!_kbhit())
{
EdsOpenSession(camera);
Sleep(10);
EdsCloseSession(camera);
}
This seems horribly kludgy. Is the SDK broken, or am I missing something?
解决方案
If you're using the EDSDK on Windows, you have to have a Windows message loop in your main thread, otherwise callbacks won't happen. (This is because the EDSDK uses the obsolete COM STA threading model instead of real threads.)
这篇关于EDSDK回调不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!