このブログを検索

2009年9月30日

一言

感熱紙プリンターが欲しい。

2009年9月27日

そろそろ脱βしたい

文字列リソースの表示部分だけは外部へ押しやることが出来ました。
外部にやったはいいんだけれどもそのファイルが存在しない場合は内部の文字列を使用しよう考えたまでは普通なんですが、普通にやるのも面白くないなぁ、とか考えてしまい出来たのがこれ。

無駄に半角カナ。
アホだ。

Dで直に書いててPostfix文字も着けてないんで素直にUTF-8。
一文字3バイトはあるであろうS-JISより無駄豪華な文字列リテラルです。

2009年9月25日

なんかしらんけどkernel panicから復帰した。正直怖い

書いてると疲れてきたんでドキュメント書くのストップ。
文字列リテラルの外部化でもやります。

2009年9月23日

かーねる☆ぱにっく

β18公開~。
取り敢えずUIをちまちま変更。
Lineパネルを改良して若干使いやすくしたもののグループボックスとの相性がよろしくなくて即値(50%とか)が増えた感じ。
でもまぁ本体設定の見栄えが幾分かマシになったので良しとします、うん。

次期バージョンではドキュメントの記述に重点を置きます(やったー、バグで悩まなくて済む!)。

2009年9月21日

うちのCentOSがkernel panicで死んだ

β17だー。

コマンド型の暫定的な実装が主な更新。
DLLも更新したので今回もパッケージ配布で準備が面倒、そろそろ一括バッチでも作ろうか。

今回実装したコマンド型は入力された文字列を正規表現として扱うのでちょっと使いづらいかも知れないので将来的は通常検索・ワイルドカード・正規表現を切り替えられるようにしたい。
Migemoはあまり心惹かれないので実装する気なし。

次バージョンはUIの強化(整理)なんでパネル辺りを重点的にやるかー…。
そのまえにファイルサーバー直さないと…めんど。

2009年9月18日

マウスフックが直ったー②

やっとこさ直った。
訂正、多分直った。

こっからの話は「恐らく」になると思うんですが原因はDMD2.030から扱いの変ったグローバル変数、TLS変数のおかげ。
フックってDLLを使用する場合は共有メモリを使用、共有部分をグローバルに置いとくのが王道だと思うんです。
だたD(2.030以降)ではこのグローバル部分がスレッド別に置かれるんで変になっていたっぽい。

__gsharedしたらきちんと動きました。
しんどかったー。

2009年9月17日

マウスフックがバグってたー

謎が多すぎる。
コマンド型を実装してからマウスフックでネムぃがサヨナラする事象が発生中。

コマンド型で入力補完的なコンボボックスのリスト部分的なものを表示させてからマウスフックを使用すると
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION(0xc0000005) at HOOKER.DLL (0x012b8127) thread(6100)
が発生。
Hooker.dllを使用していなければ大丈夫。
非常に意味が分からない。
DDBGで動きを見る感じでは
  1. ネムぃ起動
  2. 起動の最後にHooker.dllがロードされる

    No symbols available from HOOKER.DLL
    HOOKER.DLL loaded at 0x012b0000
  3.  コマンド入力ウィンドウを表示
  4. 何か入力するとリストが表示され以下がロードされる
    No symbols available from IMJPSQM.dll
    IMJPSQM.dll loaded at 0x3ac70000
    No symbols available from IMJPCD.DIC
    IMJPCD.DIC loaded at 0x3ae00000
  5. ここで分岐。
  6. ①このままリストからアイテムを選択して実行すると以下がロードされて何事も無く動く。
    No symbols available from NETAPI32.dll
    NETAPI32.dll loaded at 0x59250000
    No symbols available from urlmon.dll
    urlmon.dll loaded at 0x442a0000
    No symbols available from iertutil.dll
    iertutil.dll loaded at 0x40930000

    ②リストを無視してデスクトップでホイールクリックすると

    EXCEPTION_ACCESS_VIOLATION
ワケが分からん。

2009年9月16日

いやいやいやいや

Access Violationが発生中。
場所がわかんねー。
DDBG使ってもわけわからん。

Unhandled D Exception (std.contracts.ErrnoException
 "C:\dmd\dmd\src\phobos\std\stdio.d(896):  (Bad file descriptor)") at KERNEL32.dll (0x7c812afb) thread(2632)
->;us
#1 0x004bd728 in __d_throw@4 () from deh
#2 0x004bd538 in extern (C) int rt.dmain2.main(int, char**) . void runMain(void*) () from dmain2
#3 0x004bd575 in extern (C) int rt.dmain2.main(int, char**) . void runAll(void*) () from dmain2
#4 0x004bd2e8 in _main () from dmain2
#5 0x00521695 in _mainCRTStartup () from constart
#6 0x7c817077 in ?? () from KERNEL32.dll
#0 Access Violation

せめて変数名だけでも分からないもんだろうか。

2009年9月14日

Zippoがつぶれた!

プランプランだ。
修理出さねば。

2009年9月13日

コマンド型

なんだろう、うまくいかない。
エディットボックスだけ置いて完結したい。


もうこれでいいじゃん。

こないだネットワーク難民になった

はてさてβ17に向けてコマンド型ランチャを考え中。
現状の なんとも言い難い実装を使うべきか新たに書き直すべきか。

コマンド型っていうと一行分の入力欄にコマンドを入力して登録ファイル等々を実行するのが普通なんでそれを踏襲すべきか、それとも違った実装で行くか。
どっちかって言うと後者を採用してCUIちっくな実装にしたいんだけど中々決まらない。
とりあえずコード書くのが鬱陶しいなぁ。

2009年9月12日

DのDLLでかすぎ

β16ぅぅ。

ソースコードの整理が主で特に機能変更等は無し。
マウスフック用のHooker.dllのフック解除時のコードが若干怪しかったんでその部分の修正もあり今回はDLLも配布ということで久々のパッケージ・単独ファイルの公開です。

今後の予定は、
  • β17→コマンド型の実装
  • β18→設定画面のUIをいじる
  • β19→ドキュメントの整備
この流れで行こうかと。

2009年9月9日

電波時計の電池が意外と長持ちでびっくり

ネムぃがバージョンアップした感じです。
ソースがあまりにも汚くなったので次バージョンは機能の追加はせずに整理に重点を置きたいなぁ。

今回の主な変更点はアイテム選択時のコンボボックスやリストボックスに対象アイテムのアイコンを描画するようにしたこと。
今まではアイコン読み込みに掛かる時間等を考えるとあんましやりたくなかったのですが適当にファイルを30個くらい読ませてみたら意外と速く処理できたのでじゃあ実装してみよう、といった感じで進んでいきました。
まぁそのおかげでソースが凄く凄く読み難くなってしまいましたが、、、てか、あれだ、書いてて気付いたけどイメージリストのkill忘れてるわ今回。

他にも色々やったけどアイコン描画がいろんなところに影響しすぎて修正しまくってその過程でなにやったか忘れた。

2009年9月6日

最近コーラがやたらうまい

DMD2.032のtoで泣いたけどD言語 Part22の839氏も死んでたっぽい。
修正パッチへのリンクもあったのでそれを参考にtoで泣かなくてよくなりました。

ネムぃの設定画面で多用しているアイテム一覧のコントロールをそろそろ綺麗にしようと思いコンボボックス→拡張コンボボックスに変更しようと思いましてコード実装してみたらすごく変。
STANDARDなら大丈夫なんですけどDROPDOWNとかを指定すると途端に動かない。
いや、動いてんだけどリスト部分が表示されない。
あっれ~ってなりながらGoogle大冒険した結果MSDNのUsing ComboBoxEx Controlsにあんましよろしくない文が。

hwnd = CreateWindowEx(0, WC_COMBOBOXEX, NULL,
                    WS_BORDER | WS_VISIBLE |
                    WS_CHILD | CBS_DROPDOWN,
                    // No size yet--resize after setting image list.
                    0, // Vertical position of Combobox
                    0, // Horizontal position of Combobox
                    0, // Sets the width of Combobox
                    100, // Sets the height of Combobox
                    g_hwndMain,
                    NULL,
                    g_hinst,
                    NULL);

英語わかんないなりに訳してみるとイメージリスト設定後にリサイズできないの?

とりあえずよく分からんけど適当に実装してみた。
以上、同じ問題で誰かが悩まないようにメモ書きです。



←実装した結果。

2009年9月1日

BBS

掲示板が欲しい。
自分で作る気もさらさらない。

今日は仕事がお休みだー。

あー、β14公開です。
公開って言っても今回バイナリ配布じゃないしそこまで公開しなきゃいけないってもんでもありませんでしたから。
機能的な変更は環境変数の動作が不完全だったバグを修正したくらい。
内部的にはstringからネムぃで使用しているTextって型に移行中。
カレキとの兼ね合いでstring使っているところもどうせ外向けにはTextに変換してるんだし最初からTextでいいじゃないかという思惑で作業中。
ある程度変換作業が進み動くようにはなったので公開した感じです。

今回から更新記録をBloggerに移行です。
でリンクしてみたんですがどうもにもIEが見れないようですが、うん、別にどうでもいい。