・「ひとまとめ」は完成かと思ったら全然そうじゃなかった、、、2007/12/13 18:12

長年の懸案事項だった「ひとまとめ」の無反応になる問題が解決されて、もう改良するとこなんかないよなあ、、、と思っていたのに、新版を使っているとどんどん不満な点が見えてきた。

その1 CRC32の計算がキャンセルできない

「ひとまとめ」ではファイル名とファイルサイズが同じ二つのファイルの同一性を検査するためにCRC32を使っているのだが、100MB以上のファイルサイズになると結構時間がかかる。こういうファイルサイズで、自分の意図しない時にCRC32計算に入ってしまうとキャンセルしたくなるのだが、これができない。コピーや移動の時にはキャンセルできるのにCRC32計算中にできないのは片手落ちなので、少し頑張って実装済み。

その2 CRC32の計算可能サイズが空きメモリに依存する

CRC32の計算にはネットで拾ってきたルーチンを使っているのだが、これがファイルをすべてメモリに取り込む仕様になっている。つまり空きメモリ容量を超えるサイズのファイルは計算不可能。いまどき1GBを超えるファイルなんてゴロゴロしているので、こういうファイルのCRC32計算には空きメモリ1GB以上が要求されるが、32BitのWindowsを使っていて、常に1GB以上の空きメモリがある人は少ないだろうなあ、、、。ということでこれも頑張って、2GBまでなら計算できるようにした。2GBというのはVB6の制約なので如何ともしがたく、解決するためにDelphiでdllを作ることを検討中。

その3 UNICODEに対応していない

UNICODEというのは、英語とかドイツ語とか中国語とか韓国語とか日本語とかアラビア語とか、世界中にあるいろんな文字をひとつのコード(UNICODE)で全てあらわせるようにしようというもので、出はじめの頃はいろいろ問題があったようだが最近は主要なOSでサポートされるようになり、それなりの地位を確立している。WindowsもNT以降はUNICODEに対応しているのだが、VB6が対応していない。じゃあDelphiに移植して、、、と思ったらDelphiも対応していないのだ。ということは酢こんぶの開発環境ではお手上げだし、日本語だけを使っている分には問題は起こらないので、今のところ放置してある。
「だって日本語以外使わないから問題ないじゃん」と思うかもしれないが、そうでもない。中国系の人が共有しているファイルをダウンロードしたら、そのファイル名に中国特有の漢字が使われていて、エクスプローラでは表示されるのに「ひとまとめ」では処理できないという現象が起こり、さらに「ひとまとめ」のバグでファイルが消えてしまったのだ。すぐ気づいたので再度ダウンロードしたが、二度と取り戻せないファイルだったらと考えるとぞっとする。そんなことのないように、きちんと対応したいんだけどねえ、、、、。


ま、とりあえず1と2には対応できたのでしばらくこの状態で使って、安定していると判断した時点で公開ということでひとつ。

------------------------------------------
このブログの本店「木全屋かるた堂」もよろしくです。

・ファーストガンダムのかるた売ってます。
・ファイル整理に便利な自作ツール置いてます。
・写真(コスプレ、ポートレート、動物)公開してます。
------------------------------------------