« 関数プラグインの作り方 | メイン | MovableTypeのテンプレートを少しいじってみる »

2004年07月28日

吉里吉里2/KAG3ムービー拡張日誌:: クラスプラグインは可能?

    

ソースやTJS2のドキュメントを見ていて気付いたのだが、関数プラグインだけではなくて、クラスプラグインも作れるのではないだろうか?
関数プラグインはtTJSDispatchを継承して作る。
実際の処理はFuncCallをオーバーライドする。
そして、それをバリリアント型に変換する。
iTJSDispatch2かそれから派生したグローバルオブジェクトを取得し、そのメンバ関数のPropSetを使い、バリリアント型に変換したクラスを登録する。
そうすることで、グローバルな関数として使えることになるようだ。

そして、ここからはソースやドキュメントからの予想。
PropSetは字句を登録しているのではないだろうか?
登録した字句をnewするとiTJSDispatch2のCreateNewがコールされる。
生成されたオブジェクトのメソッドをコールするとiTJSDispatch2のFuncCallがmembernameを伴ってコールされる。
と言うことは、クラスプラグインも何とかなるのではないだろうか?
ただ、組み込みクラスは継承図の構成が異なっているのが気になる。
ファクトリーパターンやプロキシのような作りになっていると言うことだろうか?
やはり、もう少しコードを追わないと可能かどうかわからないなぁ。

クラスプラグインが使えるのなら、関数をまとめたクラスをTJSで作ると言うことはしなくても良くなる。
当然、その方が自然だし、処理も軽くなるだろう。

ソースを追ってもいいが、聞いた方が早いか。



投稿者 Takenori : 2004年07月28日 02:05




comments powered by Disqus
Total : Today : Yesterday : なかのひと