7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版 Ver.15.05.00.01 beta公開
7-zip32.dll/7-zip64.dll/7z.dll文字化け対策版 Ver.15.05.00.01 betaを公開しました。
●開発履歴
○Ver.15.05.00.01 beta – 2015/06/23
・7-Zip 15.05 betaをベースにビルド。
7-Zipは15.05 beta、7-zip32.dllはVer.9.22.00.01をベースにしています。
辛うじてビルド出来るように修正したのみで、何が起こるかわかりません。
不安な方は、オリジナルの7-zip32.dll/7-zip64.dllが公開されるまでお待ちくださいませ。
#「Scanning~」のメッセージを削除しています。
#7-Zipのプログレスバー表示も削除しています。
#recesでログに従来と同じくファイル名を表示するには「/P-bb1」とします。
『和歌山「地理・地名・地図」の謎』にぼくらの新宮鉄道が!!
じっぴコンパクト新書「地理・地名・地図の謎」シリーズの和歌山版をふと手に取り見てみると、なんとぼくらの新宮鉄道についてのページが載っているじゃあ~りませんか!
写真はないものの、新宮鉄道の概要と、御手洗・稲荷山両トンネルについて分かりやすくまとめられています。
#欲を言えば、袖摺・大狗子・小狗子についても少し紹介して欲しかったなぁ…
各トンネルについては、新宮鉄道(旧紀勢中線) 第四次探索をご覧下さいませ~
reces Ver.0.00r28b公開
reces Ver.0.00r28bを公開しました。
〇Ver.0.00r28b
- 書庫の構造によってはフィルタ処理で関係のないディレクトリが除外される不具合を修正。(Special Thanks!:kiyohiro様)
Ver.0.00r26から、フィルタ適用の結果、空となるディレクトリは極力排除する方針となっています。
今回の不具合は、配下に処理対象となるディレクトリ・ファイルがあるにもかかわらず、排除してしまうために因るものでした。
例えば、以下の構成の書庫ファイルに対し、「/X*.pdf」とした場合について。
1
│ テスト.pdf
│
└─2
テスト.jpg
フィルタ適用は
1\
1\2\
1\2\テスト.jpg
1\テスト.pdf
の順に行われます。
まず、「1\テスト.pdf」が除外されます。
次に、空ディレクトリチェックが行われます。
しかし、ここに不具合があり、「1\2\テスト.jpg」が存在するにも関わらず、誤って「1\」に子ノードが無いと判断、
結果、除外リストは
1\
1\テスト.pdf
となり、処理対象が無い状態となってしまいました。
これは自分では気付けない不具合でした。
報告して下さったkiyohiro様に感謝致しますm(_ _)m
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秒以上の間隔で来ることはない!…と思う。