У меня есть работающее приложение командной строки, использующее EDSDK v2.13.
Однако, когда я регистрирую обратные вызовы, происходит всплеск событий свойства, тогда ничего.
Я исправил этот цикл следующим образом:
while(!_kbhit())
{
EdsOpenSession(camera);
Sleep(10);
EdsCloseSession(camera);
}
Это кажется ужасно грязным. SDK сломан или я что-то упустил?
Если вы используете EDSDK в Windows, у вас должен быть цикл сообщений Windows в главном потоке, иначе обратные вызовы не будут выполняться. (Это потому, что EDSDK использует устаревшую модель потоков COM STA вместо реальных потоков.)
Каноны EDSDK застряли в 90-х годах, ужасно использовать. И после нескольких дней игры с ним, он кажется гораздо менее сложным, чем Nikons.
Эти компании должны внедрить API на основе http на всех своих камерах, как это делает Sony.