2009-08-11

もうすぐ詰みそうな詰め将棋

何だろう、D上での失敗なのかWindows上での失敗なのか分からん。

マルチアイテム用コントロールを作ってその中にアイテム選択用コントロールを配置したんだけれどもアクセスできない。
とりあえず自分で読んでも意味解らない上の一文ですが、ddbgにプログラム渡してやってみた状態はこんな感じ。
invalid class pointerって怒られる。
直訳で無効なクラスのポインタ。
わけわからん。

2009-08-03

マウスフックが直ったー

直った、というか出来た?

破れかぶれにMmFile使ったらなんか出来た気がせんでもないような気がする感じ。
ただ初っ端のテストコンパイルでブラウザがいきなり落ちたのが気になる。
俺か、俺のせいなのか。それとも偶々ブラウザが落ちたのか。

謎は深まる夏の夜。

2009-08-02

マウスフックでバグったー②

いや、まじでこれどう書くの?

色々調べてみたけど#pragma data_seg(".hookdata")ってDで代用できんの?
Budのpragmaの項目読んでみたけどそれっぽい記述は見当たらず。
やっべー、やっべーーー。

マウスフックでバグったー

---------------------------
توكوغاوا إيئه-ياسو: nemuxi.exe - アプリケーション エラー
---------------------------
"0xe4cbbdff" の命令が "0xe4cbbdff" のメモリを参照しました。メモリが "read" になることはできませんでした。


プログラムを終了するには [OK] をクリックしてください
---------------------------
OK
---------------------------

2009-08-01

終わりが見えた!

ネムぃの完成が見えてきた!
面倒なチェック動作や入力支援機能などなど、絶対必要だろうと思われる機能を省きまくったら意外と速く完成しそうだ!

とにかくまぁ、そういった機能は完成してから実装します。

2009-07-23

梅雨あけて、少し晴れたら、たいふーん

最近ネムぃを作ってなかったのでちまっと作業開始してみた。
分かったことはインターフェイスの継承具合がとてもとても変だってこと。

設定部分の続きをちまちまやってみたんですがどうにもやることが多そう。
一応ある程度の実装はバッサリ切って進めてはいるのですがそれでも作業は少なくなりそうにありません。
※初期値の設定だとかアイテムの循環問題は面倒なんで後回し。

ながいなー。

2009-07-14

2009-07-01

エラーが長い。

パネルが一応完成しました。
実装したのは三個。
  • Tansu
    タンス型のパネル。
    各セルの大きさが同一。

  • Line
    直線状に伸びていくパネル。
    セル毎に大きさを保持。最終セルの大きさはLineに処理させることが可能。

  • Dual
    セルが二つのみのパネル。
    Lineを機能限定した感じ。
とりあえずこんだけ。
構想上はGrid(Table?)パネルが欲しかったのですがTansu/Lineの中にパネル放り込めば代替手段になることに気付いたので未実装です。

あと.Netなんかだとパネルが一つのコントロール(ウィンドウ? .Netの詳しいことは知らん)として扱っているみたいですがNeGuiではレイアウトマネージャに付随するサイズ変更情報として扱っています。
レイアウトマネージャもベースパネルへの連絡役です。

適当にWS_CHILDつけてコントロールでも作ってれば素直に作ることが出来たかもしれないんですがグループボックス作ってそこにコントロール乗せた時にメッセージループの取捨選択とか結構泣けたのでもうあんな思いしたくねーなーと考えた結果、コントロール作らずに回り道しています。

あとネムぃの実装じゃなしにT* -> ref T, const T* -> ref const(T)とかやってます。
こういうのするから進まないんだなぁ。



↓エラー↓

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION(0xc0000005) at nemuxi.gui.nemuxi.window.nemuxiwindow.buttonlauncher.ButtonListMenu.show.nemuxi.gui.nemuxi.window.nemuxiwindow.nemuxiwindow.NemuxiWindow.nemuxi.gui.control.control.Control.nemuxi.file.items.item.Item gui\nemuxi\window\nemuxiwindow\buttonlauncher.d:319 (0x0045b5e0) thread(1208)