最近のアクセス:
外部オブジェクト ([Type] プロパティ = Native Object)

[ Type ] プロパティが 'Native Object' に設定されている外部オブジェクト (EO) は、定義された Java クラス、.NET アセンブリー、または JavaScript ソースへのアクセス方法に関するすべての情報 (名前、プロパティ、メソッド、パラメーター) を格納します。
これらは通常ネイティブオブジェクトと呼ばれ、それぞれが外部リソースのクラスに正確に対応しています。
外部オブジェクトを作成し、その [ Type ] プロパティを 'Native Object' に設定し、外部リソースによって公開されるプロパティとメソッドを適切にマッピングすると、GeneXus コード内でこれらのメソッドとプロパティを管理することができます。
イメージ:58059.png イメージ:57558.png
.NET ジェネレーターおよび Java ジェネレーターで生成する際に、外部オブジェクトの構造を定義するのに役立つ以下のウィザードを使用できます:
これらのウィザードにアクセスするには、GeneXus のメインメニューで [ ツール ] > [ アプリケーションの統合 ] を選択します。

プロパティ

ネイティブオブジェクトのプロパティ 

ネイティブオブジェクトで使用できるプロパティを以下に示します:
イメージ:56448.png
  • [ Name ] : 外部オブジェクト名
  • [ Description ] : 外部オブジェクトのデスクリプション
  • [ Type ] : 外部オブジェクトのタイプ ('Native Object' に設定)
  • [ Namespace ] : クラスの名前空間
  • [ Module/Folder ] : 外部オブジェクトが配置されているフォルダ
  • [ Object Visibility ] : 別のモジュール内にある他のオブジェクトからのアクセシビリティ
  • [ .NET Information ] / [ .NET Framework Information ]
    • [ .NET External Name ] / [ .NET Framework External Name ] : 外部クラス (.dll) の名前
    • [ .NET Assembly Name ] / [ .NET Framework Assembly Name ] : 外部オブジェクトに関連付けられたアセンブリーの名前
    • [ .NET Constructor Parameters ] / [ .NET Framework Constructor Parameters ] : アセンブリーコンストラクターに渡されるパラメーターのコンマ区切りのリスト。コンストラクターのパラメーターは常に定数です。
    • [ .NET Package ID ] : 外部オブジェクトの一意の ID
  • [ Java Information ]
    • [ Java External Name ] : 外部クラス (.class) の名前
    • [ External Package Name ] : 外部オブジェクトに関連付けられたクラスがあるパッケージの名前
    • [ Java Constructor Parameters ] : 外部クラスコンストラクターに渡されるパラメーターのコンマ区切りのリスト。クラスコンストラクターのパラメーターは常に定数です。

ネイティブ オブジェクト タイプのプロパティ

ネイティブオブジェクトの中で定義された各タイプで使用できるプロパティを以下に示します。
イメージ:58060.png
  • [ Internal Name ] : タイプに与えられる内部名
  • [ Description ] : デスクリプション
  • [ Property Name ] : 変数に設定されたプロパティに表示される名前
  • [ Valid Types ] : コンマ区切りの有効なデータタイプ
  • [ Allow Collection ] : コレクションかどうかの指定 (True、False)
  • [ Default Type ] : 他のデータタイプが指定されない場合に使用される既定のデータタイプ

ネイティブオブジェクトのプロパティのプロパティ

Native オブジェクトの中で定義された各プロパティで使用できるプロパティを以下に示します。
イメージ:58061.png
  • [ Property Type ] : 読み取り専用、読み書き、メンバー タイプ プロパティのいずれであるかを指定
  • [ Internal Name ] : プロパティに与えられる内部名
  • [ Description ] : デスクリプション
  • [ Type ] : プロパティのデータタイプ
  • [ Is Static ] : 静的かどうかを指定 (True、False)
  • [ Control Type ] : 表示するコントロールのタイプ
  • [ .NET Information ] / [ .NET Framework Information ]
    • [ .NET External Name ] / [ .NET Framework External Name ] : .NET クラス内のプロパティの外部名
    • [ .NET External Type ] / [ .NET Framework External Type ] : プロパティの外部データタイプ
  • [ Java Information ]
    • [ Java External Name ] : Java クラス内のプロパティの外部名
    • [ Java External Type ] : プロパティの外部データタイプ

ネイティブオブジェクトのメソッドのプロパティ

ネイティブオブジェクトの中で定義された各メソッドで使用できるプロパティを以下に示します。
イメージ:58062.png
  • [ Internal Name ] : メソッドの内部名
  • [ Description ] : メソッドのデスクリプション
  • [ Type ] : 返される値のデータタイプ (値を返す場合)
  • [ Based on ] : 他のデータタイプに基づくかどうかを決定
  • [ XML Name ] : メソッドの表示名
  • [ Is Static ] : 静的かどうかを指定 (True、False)
  • [ External Member Type ] : 値は Default、Static、Instance のいずれか
  • [ .NET Information ] / [ .NET Framework Information ]
    • [ .NET External Name ] / [ .NET Framework External Name ] : .NET クラス内のメソッドの外部名
    • [ .NET External Type ] / [ .NET Framework External Type ] : 返される値の外部データタイプ
  • [ Java Information ]
    • [ Java External Name ] : Java クラス内のメソッドの外部名
    • [ Java External Type ] : 返される値の外部データタイプ
    • [ Java Method Throws Exceptions ] : 外部クラスのメソッドが例外をスローするかどうかを指定。既定値は No です。

ネイティブオブジェクトのパラメーターのプロパティ

ネイティブオブジェクトの中で定義された各パラメーターで使用できるプロパティを以下に示します。
イメージ:58064.png
  • [ Access Type ] : 入力のみのパラメーター、出力のみのパラメーター、または入出力パラメーターの区別
  • [ Internal Name ] : パラメーターの内部名
  • [ Description ] : パラメーターのデスクリプション
  • [ Type ] : GeneXus におけるパラメーターのデータタイプ
  • [ External Type ] : パラメーターの外部データタイプ

イベント

GeneXus では、イベントを必ず静的として定義する必要があります。

ネイティブオブジェクトの使用例

上に示すネイティブオブジェクト (名前は "Maths") があるとします。
次に、Web Panel オブジェクトで、"Maths" 外部オブジェクトに基づく &Maths という変数を定義します。
また、以下に示すイベントを定義します:
Event enter
 &res = &Maths.Sum(&parm1,&parm2) //&parm1 と &parm2 は Web パネルで定義された変数であり、値はエンドユーザーが入力
EndEvent
Sum メソッドは、値 &parm1 と &parm2 の合計を返します。

デプロイ

  • .NET: アセンブリーにアクセスするために外部オブジェクトを使用する場合は、アセンブリーを作業環境の bin ディレクトリーにコピーする必要があります。アプリケーションをデプロイする場合に、このアセンブリーを本番運用に移行する必要があります。
  • Java: Java クラスの場合は、外部クラスを格納する jar および zip がクラスパスに含まれている必要があります。
  • JavaScript: JavaScript リソースは Web アプリケーションのほかの静的リソース内に配置されている必要があります。このリソースは、GeneXus コードで参照する必要があります。

考慮事項

- ベクトルおよび行列の値はサポートされていません。サポートされているのはスカラー変数だけです。
- String [ ] や Date [ ] などの配列データタイプはサポートされていません。
- 列挙データタイプはサポートされていません。
- Initialized という名前または他の予約語の外部オブジェクトメソッドがある場合、それを別の名前で定義する必要がありますが、 [ External Name ] プロパティは保持されます。

使用可能バージョン

[ Type ] ノードは、GeneXus 18 Upgrade 10 以降でベータとして利用できます。

参考情報

Android 用の外部オブジェクト
iOS デバイス用の外部オブジェクト
JavaScript 用の外部オブジェクト
 

サブページ
Created: 14/09/18 03:18 by Admin Last update: 24/12/16 19:57 by Admin
カテゴリ
Powered by GXwiki 3.0