トップページ > 記事閲覧
非同期読み込みについて
名前:チップ 日時: 2015/09/28 07:53

非同期読み込みについて質問させてください。 CheckHandleASyncLoad関数で非同期処理待ちをチェックするのはわかるのですが FileRead_open FileRead_seek FileRead_read if( CheckHandleASyncLoad( GrHandle ) == FALSE ) 上記のように関数を一気に並べて書いてCheckHandleASyncLoadで読み込み待ちをするのは大丈夫でしょうか? 1命令ごとにCheckHandleASyncLoadでそれぞれの命令の非同期処理の終了を待たなければいけないでしょうか? 非同期対応命令でまとめての先行処理が可能なものと 後の非同期命令を待たないとならないものがあるのならば 教えていただけると助かります。 よろしくお願いします。
メンテ

Page: 1 |

Re: 非同期読み込みについて ( No.1 )
名前:管理人 日時:2015/09/30 02:19

> 1命令ごとにCheckHandleASyncLoadでそれぞれの命令の非同期処理の終了を待たなければいけないでしょうか? はい、今のところ同じハンドルに対して非同期処理を連続で行う場合は一つの非同期処理を開始したら その処理が終了するまで次の非同期処理は実行できないようになっています 非同期対応関数をまとめて先行処理が可能にできたら便利そうですが、今のところそれが有効に働きそうな 例があまり思いつかないので実装すべきか悩みます・・・
メンテ
Re: 非同期読み込みについて ( No.2 )
名前:チップ(解決済み) 日時:2015/09/30 06:20

返信ありがとうございます。了解しました。
メンテ
Re: 非同期読み込みについて ( No.3 )
名前:チップ(解決済み) 日時:2015/09/30 06:21

まとめて操作ができるとセーブファイルのオートセーブなどに便利かなあと思ったので質問させて頂きました。
メンテ
Re: 非同期読み込みについて ( No.4 )
名前:チップ 日時:2015/09/30 20:24

たびたびすみませんが再度質問させてください。 int i,j; // 非同期設定 SetUseASyncLoadFlag( TRUE ) ; if((i=LoadGraph(file_name))!=-1){ j=CheckHandleASyncLoad(i); if(j!=TRUE && j!=FALSE){ エラー } } 上記のようなルーチンでファイルを読み込もうとするとLoadGraphからは正常な値が返ってくるのですが(ファイルはまちがいなく存在しています) CheckHandleASyncLoadでどうしてもエラー値が返ってきてしまうことがあるようです。 何回か再コールしたり時間を空けたりしても 一端エラーが出るとそのままのようです。 エラーが出た場合に再度LoadGraphから呼び出し直すようにしてもだめなようです。 何か心当たり、または回避方法はございますでしょうか? よろしくお願い致します。
メンテ
Re: 非同期読み込みについて ( No.5 )
名前:チップ 日時:2015/10/01 07:08

どうも複数の異なるファイルをLoadGraphで連続で読もうとすると上手くいかないようです。 ひとつひとつのファイルの読み込み時にCheckHandleASyncLoad関数で終了確認して処理が重ならないようにはしているのですが。 一旦エラーが返ってきたファイルは再度LoadGraphをコールしても駄目なようです。 SetUseASyncLoadFlag( FALSE )で非同期設定をOFFにすると同じファイルでも問題なく読み込めています。
メンテ
Re: 非同期読み込みについて ( No.6 )
名前:Will 日時:2015/10/01 10:09

No.4のルーチンだと > ひとつひとつのファイルの読み込み時にCheckHandleASyncLoad関数で終了確認して処理が重ならないようにはしているのですが。 が正しく行えているかどうかが判断出来ないので、判断可能な範囲のソースを提示してもらえますか? また、うまくいかない時のログ(App.log)の内容を貼り付けてもらえますか。
メンテ
Re: 非同期読み込みについて ( No.7 )
名前:チップ(解決済み) 日時:2015/10/01 20:43

すみません、詳しく調べたところこちらのプログラムミスでした。 本件解決済みとさせてください。お騒がせしました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存