0

基本的に、別のスレッドで Canon EOS SDK から EdsDownloadEvfImage を実行しようとすると問題が発生します。その後、プログラムは...予期しないこと、フリーズなどを行います。

基本的に、メイン スレッドからミューテックスをロックしようとすると、ワーカー スレッドが EdsDownloadEvfImage でフリーズします。

スレッドで EdsOpenSession、EdsCreateMemoryStream などを実行することは絶対的なキラーであることがわかりましたが、それは気にしません。本当に時間のかかる操作は、そのイメージのダウンロードだけです。

ドキュメントに基づいて、ワーカースレッドに

CoInitializeEx( NULL, COINIT_APARTMENTTHREADED )

ダウンロードの前に呼び出されます。私もそれなしで試してみましたが、違いはありませんでした。この関数の実行に何か問題があるのでしょうか?

それとも、ワーカー スレッドで EDSDK 全体を実行する代替手段がありますか? (initializeSDKなどで)

返信ありがとうございます。

ところで: Qt アプリケーションで SDK を使用しています。

4

1 に答える 1

0

問題は解決しました。すべてを別のスレッドに配置しただけで、正常に動作しています。

于 2016-06-03T14:01:48.353 に答える