ActiveXObject (クラス)
public abstract sealed ActiveXObject {inherits ExternalObject}
パッケージ: CURL.GRAPHICS.ACTIVEX

ActiveXObject は、COM と ActiveX オブジェクトとのアクセスを許可します。

注意事項

ActiveXObject は、ActiveX オブジェクトのインスタンス化と、そのオブジェクトのメソッドとフィールドの使用を許可します。 もし、ActiveX コントロールにビジュアル ディスプレイがあれば、 Curl のページに ActiveXGraphic を使用して配置することが出来ます。 ActiveXObject は、Microsoft Windows™ バージョンの Curl 実行環境のみで可能です。

コンストラクタ
default:これは、Microsoft COM オブジェクトのインターフェースを取得するのに使用されます。
ファクトリ public {ActiveXObject.default
ProgId:#String = null,
ClsId:#String = null,
FileExtension:#String = null,
DataFile:#String = null,
initial-url:#Url = null,
initial-read-only?:bool = false,
...
}:ActiveXObject

プロパティ
com-clsid:基本的な COM オブジェクトに対応する CLSID 文字列を提供します。
アクセサ public abstract ActiveXObject.com-clsid:#String
com-identity:元の COM オブジェクトの固有の ID を提供します。
アクセサ public abstract ActiveXObject.com-identity:int64
event-count:この ActiveX オブジェクトがサポートするイベントの数を返します。
アクセサ public abstract ActiveXObject.event-count:int
getter-count:このActiveX オブジェクトで使用可能なゲッターの数を戻します。
アクセサ public abstract ActiveXObject.getter-count:int
method-count:このActiveX オブジェクトで使用可能なメソッドの数を戻します。
アクセサ public abstract ActiveXObject.method-count:int
object-destroyed?:ActiveXObject が既に削除されている場合は true を返します。
アクセサ public final ActiveXObject.object-destroyed?:bool
setter-count:このActiveX オブジェクトで使用可能なセッターの数を戻します。
アクセサ public abstract ActiveXObject.setter-count:int

メソッド
destroy-object:ActiveXObject を削除し、関連したActiveX コントロールをリリースします。
public sealed {ActiveXObject.destroy-object}:void
get-event-info:この ActiveX オブジェクトのイベントを列挙する事を許可します。
public abstract {ActiveXObject.get-event-info
index:int
}:ActiveXMethodInfo
get-getter-info:この ActiveX オブジェクトのゲッターを列挙する事を許可します。
public abstract {ActiveXObject.get-getter-info
index:int
}:ActiveXFieldInfo
get-method-info:この ActiveX オブジェクトのメソッドを列挙するのを許可します。
public abstract {ActiveXObject.get-method-info
index:int
}:ActiveXMethodInfo
get-property:COM プロパティの値を取得します。
public abstract sealed {ActiveXObject.get-property
name:String,
...:any
}:any
get-setter-info:このActiveX オブジェクトのセッターの列挙を許可します。
public abstract {ActiveXObject.get-setter-info
index:int
}:ActiveXFieldInfo
set-event-handler:Curl のプロシージャが COM イベントのイベント ハンドラとして動作するよう指定することが可能です。
public abstract {ActiveXObject.set-event-handler
name:String,
handler:any,
error-if-missing?:bool = true
}:void
set-property:COM プロパティを設定します。
public abstract sealed {ActiveXObject.set-property
name:String,
value:any,
...:any
}:void
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (ファクトリ)
public {ActiveXObject.default
ProgId:#String = null,
ClsId:#String = null,
FileExtension:#String = null,
DataFile:#String = null,
initial-url:#Url = null,
initial-read-only?:bool = false,
...
}:ActiveXObject

これは、Microsoft COM オブジェクトのインターフェースを取得するのに使用されます。

initial-url: 起動時にロードするように COM オブジェクトに指示するローカルファイルの Url
initial-read-only?: initial-url は、読み取り専用でロードされなければなりません。

注意事項

これは、Microsoft ActiveX コントロール、または、Automation サーバーのインターフェースを取得するのに頻繁に使用されます。

特権のあるアプレットのみが、この factory を呼び出すことが出来ます。



プロパティ詳細
com-clsid (アクセサ)
アクセサ public abstract ActiveXObject.com-clsid:#String

基本的な COM オブジェクトに対応する CLSID 文字列を提供します。

説明

全ての COM オブジェクトが CLSID を利用できるわけではありません。ClsId や ActiveXObject.default#factory にキーワード引数に渡される ProgId で使用されるオブジェクトが生成される場合や、基本的な COM オブジェクトが IProvideClassInfo インターフェースをサポートする場合、妥当な CLSID が返されます。そうでない場合は null が返されます。
導入: バージョン 7.0


com-identity (アクセサ)
アクセサ public abstract ActiveXObject.com-identity:int64

元の COM オブジェクトの固有の ID を提供します。

説明

2 つの ActiveXObject オブジェクトは、ActiveXObject.com-identity の値が同じである場合のみ、同じ COM オブジェクトの 2 つのインターフェイスを表します。このプロパティは比較やハッシングに使用できます。


event-count (アクセサ)
アクセサ public abstract ActiveXObject.event-count:int

この ActiveX オブジェクトがサポートするイベントの数を返します。

注意事項

これは ActiveXObject.method-count に非常に似ています。異なるのは、これはイベントの数を返すということです。
導入: バージョン 6.0


getter-count (アクセサ)
アクセサ public abstract ActiveXObject.getter-count:int

このActiveX オブジェクトで使用可能なゲッターの数を戻します。

注意事項

これは、ゲッターの数を戻す事を除くと、ActiveXObject.method-count と類似しています。 ActiveXObject.setter-count も参照してください。


method-count (アクセサ)
アクセサ public abstract ActiveXObject.method-count:int

このActiveX オブジェクトで使用可能なメソッドの数を戻します。

注意事項

このゲッターは、この ActiveXObjectによって参照された、 ActiveX コントロールのメソッドの数を戻します。それぞれのメソッドの説明を取得するには、ActiveXObject.get-method-info を使用してください。

以下のコードは、Internet Explorer ActiveX コントロール を参照する ActiveXObject を作成します。 ActiveX オブジェクトを作成し、利用できるメソッドの数を取得します。 実行する際、このサンプルアプレットには特権を付ける必要があります。また、このサンプルアプレットは Microsoft Windows™ プラットフォームのみでの実行が可能で、 Microsoft Internet Explorer™ をインストールする必要があります。

{curl 8.0 applet}
{import * from CURL.GRAPHICS.ACTIVEX}
{let active-x-control:ActiveXObject = 
    {ActiveXObject.create ProgId = "Shell.Explorer"}
}
{value active-x-control.method-count}


object-destroyed? (アクセサ)
アクセサ public final ActiveXObject.object-destroyed?:bool

ActiveXObject が既に削除されている場合は true を返します。

注意事項

ActiveXObject のインスタンスを削除するには、次の方法のいずれかを選択します。ActiveXObject.destroy-object メソッドを呼び出しする方法、destroy メソッドを ActiveXWindowに対して呼び出しする方法、そして、destroy メソッドを に対して ActiveXGraphic呼び出しする方法があります。


setter-count (アクセサ)
アクセサ public abstract ActiveXObject.setter-count:int

このActiveX オブジェクトで使用可能なセッターの数を戻します。

注意事項

これは、ActiveXObject.getter-count または ActiveXObject.method-countと類似しています。





メソッド詳細
destroy-object (メソッド)
public sealed {ActiveXObject.destroy-object}:void

ActiveXObject を削除し、関連したActiveX コントロールをリリースします。

注意事項

ActiveXObjectに対して一回以上メソッドを呼び出すのは禁止されています。

もし、 ActiveXObjectActiveXGraphicにパスした場合は、 ActiveXObject.destroy-objectを使用するべきではありません。替わりに、 ActiveXGraphic.destroy-objectを使用してください。


get-event-info (メソッド)
public abstract {ActiveXObject.get-event-info
index:int
}:ActiveXMethodInfo

この ActiveX オブジェクトのイベントを列挙する事を許可します。

index: 情報が取得されることになっているイベントのインデックス。 index の正当な値は、ゼロから始まり、ActiveXObject.event-count から1を引いた値までの範囲となっています。
導入: バージョン 6.0


get-getter-info (メソッド)
public abstract {ActiveXObject.get-getter-info
index:int
}:ActiveXFieldInfo

この ActiveX オブジェクトのゲッターを列挙する事を許可します。

index: 情報が取得されることになっているゲッターのインデックス。 index の正当な値は、ゼロから始まり、ActiveXObject.getter-count から1を引いた値までの範囲となっています。


get-method-info (メソッド)
public abstract {ActiveXObject.get-method-info
index:int
}:ActiveXMethodInfo

この ActiveX オブジェクトのメソッドを列挙するのを許可します。

index: 情報が取得されることになっているメソッドのインデックス。index の正当な値は、ゼロから始まり、ActiveXObject.method-count から1を引いた値までの範囲となっています。

注意事項

ActiveXObject.get-method-infoを使用して、クライエントのコードは、ActiveX コントロールのそれぞれのメソッドの情報をリクエストすることが出来ます。

このサンプルコードでは、ActiveX コントロールのそれぞれのメソッドの ActiveXMethodInfo を取得します。そして、VBox にメソッドの名前を配置します。実行する際、このサンプルアプレットには特権を付ける必要があります。 また、このサンプルアプレットは Microsoft Windows™ プラットフォームのみでの実行が可能で、 Microsoft Internet Explorer™ をインストールする必要があります。

{curl 8.0 applet}

{import * from CURL.GRAPHICS.ACTIVEX}
{value 
    let active-x-object:ActiveXObject = 
        {ActiveXObject.create ProgId = "Shell.Explorer"}
    let num-methods:int = active-x-object.method-count
    let vbox:VBox = {VBox}
    {for i:int = 0 below num-methods do
        let method-info:ActiveXMethodInfo = 
            {active-x-object.get-method-info i}
        
        {if-non-null name = method-info.name then
            {vbox.add name}
         else
            {vbox.add {format "Couldn't get method-name for %d", i}}
        }
    }
    vbox
}


get-property (メソッド)
public abstract sealed {ActiveXObject.get-property
name:String,
...:any
}:any

COM プロパティの値を取得します。

説明

name プロパティの値を取得します。他の引数が追加で指定された場合、それらはパラメータ化されたプロパティの引数として渡されます。
導入: バージョン 6.0


get-setter-info (メソッド)
public abstract {ActiveXObject.get-setter-info
index:int
}:ActiveXFieldInfo

このActiveX オブジェクトのセッターの列挙を許可します。

index: 情報が取得されることになっているセッターのインデックス。 index の正当な値は、ゼロから始まり、ActiveXObject.setter-count から1を引いた値までの範囲となっています。


set-event-handler (メソッド)
public abstract {ActiveXObject.set-event-handler
name:String,
handler:any,
error-if-missing?:bool = true
}:void

Curl のプロシージャが COM イベントのイベント ハンドラとして動作するよう指定することが可能です。

name: イベントの名前。
handler: イベント ハンドラのプロシージャです。そのシグネチャはオブジェクトの型のライブラリにあるイベントのシグネチャに対応する必要があります。既存のイベント ハンドラを取り除くには null を設定してください。
error-if-missing?: COM オブジェクトがイベントの名前をサポートしていなかったり、( null handler の場合)リクエストしたイベント ハンドラが事前に指定されていなかったりした場合に、falseが設定されていれば例外がスローされるのを防ぐことができます。

注意事項

ActiveXObject がイベントハンドラーを持つ時はいつでも、そのオブジェクトと、それに関連付けられた COM オブジェクトはガベージコレクトすることができません。オブジェクトのリソースを回収する場合は、ActiveXObject.destroy-object を呼び出すか、全てのイベントハンドラーを削除しなければなりません。
ブロックされた HTTP を呼び出している間、Curl RTE は ActiveX イベントを処理します。そのため ActiveX オブジェクトのイベントハンドラーはいかなる種類のイベントループも入ることはできず、ブロッキング HTTP を呼び出してはいけません。
導入: バージョン 6.0


set-property (メソッド)
public abstract sealed {ActiveXObject.set-property
name:String,
value:any,
...:any
}:void

COM プロパティを設定します。

説明

nameプロパティに value を設定します。他の引数が追加で指定された場合、それらはパラメータ化されたプロパティの引数として渡されます。

注意事項

パラメータ化されたプロパティの引数は、その値の 後に 指定されます。
導入: バージョン 6.0