雑記

過去の雑記 雑記一覧

06/07/15 13:01:41
長い間放置してしまった^^;
リアルの自分を磨こうと頑張ってたのでご容赦を。
頂いたバグ報告と要望を早いとここなしてしまいたいなと思っていますが、2ヶ月近くプログラミングしていないので少しリハビリしてからコード書きたいと思います。
06/05/23 23:09:01
なかなかモチベーションが保てずしばらく放置してしまいました^^;
バグ取りは大切だと思うのですが、新しい機能を付ける事が自分のモチベーションの維持に繋がっているため、自由に開発することにします。他人の目ばっか気にしてると駄目ですね。

Archon2の更新(β60)
  • Yz1形式の全解凍が出来なくなっていたバグ修正

  • 書庫内ファイルを開く際に、怪しいファイル名の場合警告を発するようにした

  • 書庫形式変換機能の追加

  • コマンドラインから解凍ファイルを指定できるようにした

  • 構文解析停止コマンドラインの追加

  • シェル拡張を拡張子ごとで設定出来るようにした


  • 書庫形式変換機能を追加しました。現在はコマンドラインからのみ使えます。
    -uを付けて呼び出してください。圧縮に設定している形式に変換します。
    やってることはテンポラリに展開してまた圧縮しているだけですけどね^^;

    シェル拡張を拡張子ごとで設定出来るようにしました。
    ただし、動的に判別しているため大量のファイルを選択するとメニューが出る時間が遅くなるなる可能性があります。3000個程度でしたらすんなり表示されました。
    詳しい設定方法についてはヘルプのmenu.iniの記述方法についてを見てください。

    コマンドラインから解凍ファイルを指定できるようにしたというのは、例えばある書庫の中のtxtと拡張子がついているものだけ解凍したい場合、このオプションを使うことで実現できます。
    -iオプションで、直後に解凍したいファイル名を入れてください。
    例) -x -cd -i*.txt test.zip
    これについてはテスト不足感が否めないのでdllによっては上手く動かないかも知れません^^; その場合はご報告ください。

    構文解析停止コマンドラインについては--のオプションを見つけるとそれ以降無条件にファイル名として受け取るようになります。これを使うと "-" で始まるファイル名を使用する事が出来ます。

    怪しいファイル名の場合警告ですが、5個以上の連続した空白がある名前を持つファイルの場合警告を発するようにしました。また、拡張子の直前に.jpgなどの一般的な拡張子が含まれている場合も警告を発します。
    06/04/09 17:40:34
    遊んでばかりで開発していませんでした^^;
    XacRett.dllのバグ報告を頂いたのでついでにArchonもいじってみました。

    Archon2の更新(β59)
  • XacRettでの判別で種類の判別を間違えていたバグ修正

  • 空フォルダを格納できるように変更

  • フォルダ選択で特殊フォルダのクラスIDを表示しないように変更

  • dllの存在場所を指定する設定追加(隠し設定)

  • アイコンダブルクリック時の動作変更


  • dllの存在場所を指定する設定を追加しました。
    Archon.iniに
    DLLPath="dllのパス"
    と書いてください。Archonからの相対パスもいけます。
    使う機会は比較的少なそうなので隠し設定にしました。


    XacRett.dllの更新
  • belen形式でFindFirst時に拡張子を取得していなかったバグ修正

  • 特殊なbelファイルで指定外の場所へファイルが展開されてしまう脆弱性修正

  • impファイルのファイル属性が正常に取得されていなかったバグ修正


  • 特殊なbelファイルについてはClaybirdさんから頂いた情報を転載させていただきます。
    >・belファイルで指定外の場所へファイルが展開されてしまう脆弱性
    > 適当なファイルをBelonで圧縮し、このファイルのヘッダに記録されている拡張子を「.\?」(?は>任意の1バイト文字)に書き換えます。
    >出来たファイルを「.bel」と拡張子だけのファイル名に変更します。
    >このファイルをXacRett.DLL 0.49.0.16/XacRett #049で解凍すると指定したディレクトリ
    >の一つ上に名前が上の「?」だけのファイルが解凍されます。

    impファイルのファイル属性が正常に取得されていなかったバグの原因はget_dir_entryでdirent.attribを取得していないためでした。
    06/03/04 13:24:15
    ちょっくら長野まで滑りに行ってきます^^
    06/03/02 19:03:36
    あ〜そんな所まで9x系とNT系は動作が違うんだ^^;
    古っっるいPCでカリカリカリカリ時間がかかってしょうがなかったので表示で満足して実際にメニュー動作させてませんでした。FDで何度も何度もdll移し変えてデバッグして、いい加減うんざりしてたんです。。。って少しだけ言い分けさせてくださいT_T

    Archon2の更新(β58)
  • 9x系でシェル拡張を行った場合サブメニュー分だけアイテムの動作がずれるバグ修正

  • yz1の部分解凍で余計なものまで解凍してしまうバグ修正

  • 閲覧画面へD&Dした際の動作変更


  • 閲覧画面へD&Dした際の動作の仕様が複雑怪奇だったので変更しました。ダイアログもそれ用のを作ってより使いやすく^^

    正式版にしたら9x系の対応はそこで打ち切ろうと思います。正直デバッグがしんどいです。

    06/02/23 17:58:15
    先ほど公開したバージョンに、ツリーを利用しない設定で起動直後に先頭カラムのソートを行うとソートが行われずにリバースするだけだったバグがあったため修正しました。
    時間的にもDLした人は少なかったと考えられるので差し替えという形でバージョンはβ57のままにします。
    06/02/23 16:56:58
    卒論は結構前に終わっていたのですが、遊んでばかりでなかなか開発出来ませんでした^^;

    色々修正。まだまだバグたくさんいましたねT_T

    Archon2の更新(β57)
  • b2eで拡張した際に「フォルダが一つの際はそれをルートにする」オプションが有効な場合正常に圧縮できないことがあるバグ修正

  • lzhでディレクトリの取り扱いが出来なかったバグ修正

  • ファイル頭文字のキー検索が正常に出来ない場合があるバグ修正

  • gza,bza,yz1でフォルダが部分解凍出来ないバグ修正

  • パスワード書庫解凍時にキャンセルした際、XacRett.dllで解凍していたバグ修正

  • カラム設定ダイアログにてアイテム未選択時にDownボタンを押した場合異常なアイテムが出現するバグ修正

  • Win9x系でArchon.exeへのパスに半角スペースが存在するとシェル拡張が機能しないバグ修正

  • メインウィンドウにて圧縮時の動作変更

  • lzh展開時の仕様変更


  • パスに空白が含まれるとシェル拡張が正常に機能しないバグについてですが、Win98以前のWin95なら再現するのではないかと踏んで年代物のWin95機を引っ張り出してきてテストしました。古いPCなので動くか不安でしたが無事動きました^^ やるじゃん富士通。
    で、再現したのですが、色々試した結果パスに空白が含まれるとメニューのタイプををオナードローにすると表示されない事がわかりました。
    よって以後制限事項としてWin9x系でシェル拡張メニューのアイコンの設定は反映されないものとします。本当ならOSのバージョンを上げていってどこから大丈夫になるかをチェックしたいのですが、そのためだけにOS買うのも無駄ですし、いまさら買えないしで^^;

    エクスプローラへD&Dで解凍する際、処理途中でエクスプローラを閉じると意図した先にファイルが存在せずテンポラリフォルダにそのまま残る問題については。。。
    今はボタンを離した瞬間から解凍を始めてほしいためIDropSource::QueryContinueDragで処理を行っているのですが、これについてもっと良いタイミング、処理方法などありましたら情報を頂けると助かります。IDataObject::GetDataで処理をするようにするとArchonのウィンドウからマウスが出た瞬間から処理を始めてしまうのでT_T


    以下正式版公開の後にやりたいなと思っている機能リスト。
    忘れないようにメモです。()内はやる気度合い。
  • コマンドラインからの一部解凍ファイル指定(◎)

  • アーカイブコンバータ機能(○)

  • 設定画面を改良(適用ボタン追加、D&Dで圧縮)(○)

  • シェル拡張を拡張子ごとで設定(△)

  • コマンドラインからの追加ファイル指定(△)


  • (追記)
    UNCパスのフォルダ圧縮で、圧縮ファイル名がショートファイル名になってしまう問題について、それらしい所を修正してみましたがテスト出来る環境が無かったため、直っているかどうか微妙です^^;
    06/01/21 17:47:34
    最近卒論関連でテンパッてますT_T
    ようやく台風の目に突入した感じで時間が出来たのでちょっくら更新です。

    Archon2の更新(β56)
  • 対応形式以外のファイルを二度メニューから開くとエラーで落ちるバグ修正

  • UnGCA32.dllでワイルドカードの指定が間違っていたバグ修正

  • パスワード付き GCA 書庫取り扱い時の処理変更

  • ツリー表示を使用しない設定で、何も選択していない際の解凍の動作を変更

  • プロパティの表示を改良

  • cabの圧縮メソッドの追加


  • みなさんご報告、ご意見ありがとうございました。
    特に異常系のテストは自分では中々気が付きにくい部分がありまして、非常にありがたかったです。 
    cabの圧縮メソッドの追加についてですが、圧縮レベルは2個おきで設定できるようになっています。 そこまで細かくする必要もないかなぁと勝手に判断させていただきました^^;

    さて、最近新機能の追加もしないでバグ取り、機能修正に時間を使っているおかげで大分安定してきたのではないかと自分では思っています。
    Windows 98(SE含む)でArchon.exeへのパスに半角スペースが存在するとシェル拡張が機能しないバグを潰せたら正式版にしちゃおうかなと思っています。しかしそれ以外にも自分が認識していないバグがあるかもしれません。奮ってバグ報告よろしくお願いします。

    まぁここしばらくは卒論で手一杯なので2、3月頃を目処にやろうと思います。
    06/01/09 16:29:43
    今日は成人の日ですね。新成人の皆様おめでとうございます。

    さてさて、Archon2の更新です。

    Archon2の更新(β55)
  • ソートが正常に機能していないカラムがあるバグ修正

  • 種類のソートを若干高速化

  • 閲覧画面の起動を高速化

  • プロパティのサイズ表示でカンマ区切りを付けるように変更


  • SHGetFileInfoで種類を取得して比較する前に拡張子での比較を試みるようにしました。
    これによって若干ですが早くなる場合があると思います。
    閲覧画面の起動を高速化しました。大きな書庫を開く際は体感できる程度の差があると思います。
    というか今までがひど過ぎる処理でした^^;