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
すみません、詳しく調べたところこちらのプログラムミスでした。
本件解決済みとさせてください。お騒がせしました。
|