reces Ver.0.00r28a公開
reces Ver.0.00r28aを公開しました。
〇Ver.0.00r28a
- rar書庫でディレクトリ階層を無視した解凍が出来なかった不具合を修正。
- rar書庫の解凍でダイアログが表示されていた不具合を修正。
- プログレスバーの更新が止まる場合がある不具合を修正。
rar書庫でディレクトリ階層を無視した解凍が出来ない不具合、なんとVer.0.00r12から存在していました^q^
原因は”-e“とすべきところを、”-x -e“としていたため、「不正なセキュリティレベルです」とエラーが発生し、解凍出来ませんでした。
プログレスバーの更新が止まる問題について。
更新頻度を下げるため、コールバック関数内で以下のような処理をしていました。
SYSTEMTIME st={}; ::GetSystemTime(&st); callback::now=st.wSecond*1000+st.wMilliseconds; if(callback::now-callback::last_update>100){ callback::last_update=callback::now; //プログレスバー更新処理
しかし、例えばcallback::last_updateが59918になってしまうと、プログレスバーの更新はどれだけ経とうと行われません。
Ver.0.00r28aでは以下のように修正しました。
SYSTEMTIME st={}; ::GetSystemTime(&st); callback::now=st.wSecond*1000+st.wMilliseconds; long diff=(callback::now>callback::last_updade)? callback::now-callback::last_updade: 60000-callback::last_updade+callback::now; if(diff>100){ callback::last_updade=callback::now; //プログレスバー更新処理
#よくよく考えると、wSecondは要らない子。
#通知が1秒以上の間隔で来ることはない!…と思う。