问题
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?
回答1:
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.)
回答2:
Canons EDSDK is stuck in the 90s, terrible to use. And after a few days of playing with it, it seems much less sophisticated than Nikons.
These companies should implement an http based API on all their cameras like Sony is doing.
来源:https://stackoverflow.com/questions/16839640/edsdk-callbacks-not-working