API version 1
- ‐
コンストラクタ¶
ExtValオブジェクトを初期化します。
valueに設定できる値は、String、Number、Date、ByteArrayです。
呼出形式一覧
呼出形式 |
説明 |
---|---|
new ExtVal([value, integer type[, string libraryName]]) |
ExtValオブジェクトを初期化します。 |
戻り値一覧
戻り値 |
説明 |
---|---|
void |
なし |
引数一覧
引数 |
説明 |
---|---|
value |
オブジェクトの値を指定します。 例えば、typeにExtVal.INT32を指定する場合は、この引数には整数を指定します。
有効なデータ型は、String、Number、Date、ByteArrayです。
指定した値は value プロパティに設定されます。
|
type |
.NETのデータ型を指定します。 指定できる値については type プロパティを参照してください。
指定した値はtypeプロパティに設定されます。
|
libraryName |
typeにExtVal.ENUMEを指定する場合に、.NET列挙体が定義されているライブラリを指定します。 それ以外は、省略するかnullを指定してください。
指定した値は library プロパティに設定されます。
|
例外
なし
関連項目
ExternalObject クラス
.NET列挙体の使用方法¶
メソッドの引数やプロパティの値に.NET列挙体の値を指定したいときはtypeにExtVal.ENUMEを指定します。
この場合はvalueには.NET列挙体を名前空間を含めた正式名を文字列で指定し、必要であればlibraryNameにライブラリ( ライブラリの指定方法 を参照)を指定します。
例)
var sunday = new ExtVal("System.DayOfWeek.Sunday", ExtVal.ENUME);
var lib = "System.Windows.Forms, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089";
var ok = new ExtVal("System.Windows.Forms.MessageBoxButtons.OK", ExtVal.ENUME, lib);
var asterisk = new ExtVal("System.Windows.Forms.MessageBoxIcon.Asterisk", ExtVal.ENUME, lib);
メソッドの引数の参照渡し(ByRef/ref引数)¶
.NETメソッドに参照型の引数を指定したいときはtypeに指定したデータ型にExtVal.BYREF を組み合わせます。
呼び出し先メソッドによって書き換えられた内容は、 value プロパティで参照できます。
例)
var v1 = new ExtVal("abc", ExtVal.STRING + ExtVal.BYREF);
var v2 = new ExtVal("xyz", ExtVal.STRING + ExtVal.BYREF);
ExternalObject.invokeStatic("SampleNS.SampleClass", "sample.dll", "Swap", v1, v2);
print(strf("v1=%1 v2=%2", v1.value, v2.value), "\n");
使用例
CRSダウンロード
Form ExtVal_properties {
X = 0;
Y = 0;
width = 640;
Height = 300;
nextTabKey = KEY_F01;
Button button1 {
x = 8;
y = 8;
width = 104;
height = 24;
title = "実行";
Function OnTouch( e ) {
var lib = "System.Windows.Forms, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089";
#System.Windows.Forms.MessageBoxButtons.YesNoCancelをFormsの列列挙型の値として生成します
var buttons = new ExtVal("System.Windows.Forms.MessageBoxButtons.YesNoCancel", ExtVal.ENUME, lib);
var icon = new ExtVal;
#System.Windows.Forms.MessageBoxIcon.AsteriskをFormsの列列挙型の値として設定します
icon.setValue("System.Windows.Forms.MessageBoxIcon.Asterisk", ExtVal.ENUME, lib);
var ret = ExternalObject.InvokeStatic("System.Windows.Forms.MessageBox", lib, "Show", "サンプルMessageBox", "BizDT Sample", buttons, icon);
#列列挙型が定義されているライブラリを表示します
print( "buttons.lib=", buttons.library);
#.NETのデータ型定数値を表示します
print( "buttons.type=", buttons.type);
#オブジェクトの値を表示します
print( "buttons.value=", buttons.value);
print( "戻り値:", ret);
}
}
}