吉里吉里はこのあたりの機構がかなりしっかりできてて、 2.25 系列からは、外づけでメソッドだけでなくネイティブなクラスも拡張できるようになってます。それに気づいたのでがりがりっと書いてみたわけなのですが^^; スタブがあるので本体に関係なくコンパイルできます。デバッグ大変かもだけど。
ちなみに GPL 単独ではなくて、 独自ライセンスとのデュアルライセンスです。たぶん Dee さん的には改変の追跡がしたくて、その兼ね合いから「オープンソース」用(= 作者への確認が不要)としては GPL にしてるのではないかと。適用当時はまだそういったライセンスでそれなりに形が整ってるものはGPL しかなかったんじゃないかにゃ。
ぐは、 そちらでつくってるみたいだから出来たら頼み込んでもらおうと思ってました(苦笑)。 COM というか、IDispatch 対応は、やっぱいろいろとめんどうでして……。 IE とか FLASHとか、特定のコンポーネントにターゲットを絞ると、コンパイラがコンポーネントの持ってるタイプライブラリからスタブを静的につくってくれるので、C++ で直接ドライブできるので簡単なのです。汎用に IDispatch をドライブするのは「難しい」もとい「ちょーめんどくさい」作業です。まあ、また、そのうち、気が向いたら組んでみます^^;
逆の用途、tTJSDispatch2 → IDispatch のラッパーは既に組まれてたりします。これは Window Script Host でもある IEコンポーネントが、ドライブしてるスクリプト用の拡張用の口を持ってる(window.external)ので、そこに吉里吉里のオブジェクト空間を接続するために使ってます。吉里吉里って「グローバル領域」自体が tTJSDispatch2 持ったオブジェクトなので、つなぎ方が美しくつくれてステキ。
今のままでもメソッド呼び出しとプロパティ参照は普通にできますが、 JScript との親和性的には IDispatchEx にしたほうがうれしい人が多そう(for in が使えるようになるので)。あときちんとしたエラー処理も足さないと……。今、わりと、問答無用でS_OK 返してます(爆)
IDispatch → tTJSDispatch2 のラッパーをつくるとして、 tTJSDispatch ←→ VARIANT の変換とかの部分は基本的に同じものが使えるはず。まだ Octet 用の処理書いてないけど。あと、吉里吉里の中の整数型って、サイズ区分あるんだろうか←調べろ。
水橋さんのビーム取材記にかなりうける。コミックビーム買おうかなぁ。ガオ切ったから、雑誌購入枠はあいてるんだよね^^;
ミーティングで、URA さんが持ってきて入れてくれた梅昆布茶がとても美味しかったのでおもわず調べて発注してみたり。
「みかに」のほうは、オーラでてますが、「たんぽ」は、週刊マガジンで掲載されたのを見た記憶では、すべってる勘違い作品としか思えなかったです。ということで、同列に扱うのは間違いだと思うのでした。
「A君」の8巻、明日か。結局、待ちきれずにさっくり7まで買って既に読んでしまっているのは秘密だ。8巻買って読んだら感想あげる予定。