本文介绍了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回调不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 19:09