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 クラス

valuetypelibrary プロパティ

.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);
           }
   }
}