2003-06-04 6656歩

λ [Windows] イベントを発行する ATL COM オブジェクト

通常の Visual Studio の手順([Class View]の中でソース インターフェイス名を右クリックし、
次に[メソッドの追加(Add Method)]を選択)を使用して、2 つのメソッドを加えます。

ソース インターフェースは、ATLで自動生成した場合 _IhogeEvents インターフェースとなっている。

IDLファイルで確認したい場合は、 Dr. GUIとCOMイベント:第1部 の「ソースを使え、ルーク」のところを参照すると、coclass によって指定していることが分かる。

こうやって理解してから改めて 223139 - HOWTO: Add Support for Hosting VBScript to an ATL Application を読むと、 ちゃんとイベントが実装されているのが判明。 ただ Dr.GUI のサンプルではイベントに引数が付いているのだが、引数付イベントをシンク(クライアント)側で定義する方法がいまいち不明。 引数無しなら楽勝。

とりあえずプロパティ経由で値を渡せるから関数としては引数なしでいいか。プロパティ経由のが抽象化の意味でも正しそうだし。

スマートポインタ?

プログラムを理解するついでにCComPtr等のラッパークラスを使って、 deleteやらRelease()でリソースの解放をしないで済むようなプログラムに改造していた。 IUnknownとオブジェクトはリソース管理上は一心同体なんだなあと思ってみたり。

COM Meets Ruby

そろそろActiveScriptRubyのソースを読むのも面白いかもしれない。

超高負荷環境のWindows2000ServerでもActiveScriptRubyが動かせるという確証が得られれば幸せだもの。

Rubyを256倍使うための本 邪道編 の91ページを読んだら今回やったようなことが書いてあったよ。

Active Scripting APIs: Add Powerful Custom Debugging to Your Script-Hosting App -- MSDN Magazine, December 2000

ScriptingHostにデバッグ用インターフェースをつける話。難しそう…

How to program RubyScript in C++

とりあえずC++からスクリプトを呼ぶサンプルとしてはここのがベストだったかも。ATLもMFCも使っていない。なかなかスゴイ。

λ ATLでがしがし実装中

なかなか楽しい。VisualStudio .Netについてくる ATL7.1 はかなり拡張されていてイイ感じ。

λ [FreeBSD] 5.1-RELEASE

そろそろアナウンスか。

非常用にGENERICカーネルを /boot/kernel.GENERIC にインストールするには以下のようにする。

cd /usr/src/sys/i386/conf; config GENERIC
cd ../compile/GENERIC; make depend; make
sudo make KODIR=/boot/kernel.GENERIC install

KODIRを設定するのがミソ。 ちゃんとバックアップも kernel.GENERIC.old に作ってくれる。

あと過去の遺物 /bin/rmail は消すべし。UUCPでもしてない限り要らないはず。

λ TravelMate C110TCi

Centrino(CPUがPentiumM)で最大2GBメモリ、標準でIEEE1394なDVD/CDRWというあたりが萌え。 1.5kg以下ノートの中では個人的に本命だにゃ。TabletPCだけどー。(キーボード付)

λ /.-J

面白いと思う話題に限って日記巡回の一周遅れで掲載されるあたりが終わっている…

  • 投稿記事は匿名
  • モデレートは記名、マイナスモデなし
  • メタモデレートは匿名、プラスメタモデにより「モデレート係数が上がる」

みたいなモデルで、モデレータごとに「ポイント入れたコメント ポータルページ」みたいなのを作るはどうか。

wakatono氏がフェードアウト気味なのもマイナスポイントなのかも。

本日のツッコミ(全1件) [ツッコミを入れる]
λ wakatono (2003-07-02 01:05)

なんとかアクティビティを戻せるようにがんばりますー (_ _)

[]