圧縮 (LZH 形式) フォルダーのバグ...
Microsoft のサポートオンラインのページに『圧縮 (LZH 形式) フォルダーで、フォルダーを含む LZH ファイルを展開できない - (900990)』という技術情報 (というかバグ情報。) が 3 日に載りましたが, どれくらいの頻度で発生する不具合なのかしら? さっさと新版に入れ替えてしまっているので, 元に戻してまで確かめる気力までは起きませんし…。
圧縮フォルダーが公開された当初に少々使っただけなので, 実際のところは判らないのですが, 恐らく「(一部の) 異なる階層のファイルとフォルダーを同時にドラッグアンドドロップ」といった操作で起こる場合がある…という程度なのでしょう。 そんなに発生頻度の高いバグではないはず…。
圧縮フォルダーに限らず, 書庫を扱うのであれば, 大抵は相手に渡す情報としてのリストを作成する段階では, 実際に渡すことになるファイルの実体は存在していないはずなので, ある意味発生しやすい不具合なのではないかと…。 特にディレクトリーメンバーが選択されていた場合には…。 ただ, 安易に修正すると「別のパターンで不具合」ということに…。 そうなっていないことを祈りましょう。(笑)
そういえば, ドラッグアンドドロップの場合にタイムスタンプの秒がクリアーされてしまう問題。 こちらは結局何が原因なのでしょうね? 圧縮フォルダーでも, ご多分に漏れず「~の一時ディレクトリー 1」といった名前のフォルダーを作業ディレクトリー上に作成して, そこにファイルを展開してから相手に渡しているわけですが, この一時フォルダーに展開されているファイルは正常にタイムスタンプが復元されていたりします。 まぁ, 展開ウイザードを使うと正常なのですから, 展開自体が正常に終了しているのは当たり前ではあります。
が, ここまで正常に終了しているのであれば, 多くのアプリがやっているように CF_HDROP で渡せば何の問題も出ないはずなのです。 (下手に) まじめに OLE2 のオブジェクトとして扱ってしまったがために, 余計なバグを仕込んでしまっているという…。 恐らく元々 ZIP 書庫の圧縮フォルダーで仕込まれていて, LZH 書庫のほうは, この辺りのコードを ZIP のほうから流用しているのでしょう。
|