Giraffe+ 0.5.0.79b

Download
前リリースからの変化
言語部分(gs)

言語部分以外(Giraffe+)

  • Keyboard.Strokeを、すでに押されてるmodキーは押さないようにした
  • ショートカットディレクトリにあるディレクトリにドットが含まれる場合にそれ以下を拡張子として扱っていたのを修正
  • ショートカットディレクトリにある隠しファイルがリストアップされるようになっていたのを修正
  • General.CheckDataLinkToが動作してなかったのを修正

メモリリークしてること自体は以前から気づいていたんですが、GCの仕様がそういうものだと思って放置していました。Boehm GCそのものはcyclic referenceに対応してますが、C++でデストラクタをコレクト時に呼ぶようにして使うとそうではなくなるということを認識してませんでした。考えてみれば当たり前のことですが、C++のデストラクタをGCで扱う場合、no order(コレクトされる順番が不定)かcyclic reference非対応のどちらかを選択するという形にならざるを得ないようです。デストラクタがcyclic referenceしてる対象に触れると問題になりますが、現状ではそういう場面はなさそうなのでno orderを選択しました。

Keyboard.Strokeはちょっとした改善です。キーを押してる状態で実行して、実行中にキーを離した場合にキーが押されたままになるのを防止しました。

ショートカットの扱いが新言語採用時に少しおかしくなっていたのを修正しました。これに気づいたのはhttp://www.codeproject.com/useritems/smartstartmenu.aspを見て、以前作ったスタートメニューモードのことを思い出したときです。スタートメニューとの連動はそのままWindowsとの連動になり、いいことがたくさんありそうですが、スタートメニューモードは単にスタートメニューの構造にGiraffe+でアクセスするだけなので、たいした意義のあるものではありません。スタートメニューというオブジェクトを中心にいろいろ考えてみるのもいいような気がします。

以前の更新から二ヶ月が過ぎていることで分かるように、最近まったくGiraffe+に触れておりません。他に忙しいことがあるとか、そういうことはまったく無く、Giraffe+どころか、ソフトウェアやプログラミングそのものに対する興味が薄れているのが原因です。最近、新しくソフトウェアを探すとか、使ってみるとか、作ってみるとか、そういうことをした記憶がまったくありません。技術的な情報についても、CodeProjectのニュースレターを惰性で読んでるぐらいです。何か大きな意義のあることがしたいのですが、意義を感じることがありません。