2010/08/31

ActiveXオブジェクトに対応

ここ数日の更新で、ActiveXのオブジェクトを扱う「COM」ユニットと「ATL」ユニットが新たに追加されました。

COMユニットでは、WSHのActiveXObjectのように、InternetExplorerなどのプログラムの制御などを行なえます。
WSHではIDispatchが実装されたオブジェクトしか扱えませんが、NILScriptのCOMでは「Unknown.define()」でメソッドの定義を指定してラッパークラスを登録することで、他のインターフェイスしか持たないオブジェクトの操作も可能となっています。
イベントハンドラの登録は、EventMixinによって実装されており、他のNILScriptオブジェクトと同じ感覚で使用できます。
一方、Dispatchオブジェクトを手動で開放しなければならないなど、WSHのJScriptとはいくつかの点で使い勝手が異なっているので注意してください。

ATLユニットでは、Windowユニットで提供される自前ウィンドウ生成機能でIEコンポーネントなどのActiveXコントロールを使用するためのクラスが提供されます。
IEコンポーネントをHTTPDと組み合わせれば、様々なインターフェイスを手軽に実現できるでしょう。

0 件のコメント:

コメントを投稿