ネイティブ オブジェクト タイプの外部オブジェクト (EO) は、Java クラス、.NET アセンブリー、または JavaScript ソースにおいて定義されたクラスへのアクセス方法に関するすべての情報 (名前、プロパティ、メソッド、パラメーター) を格納します。
各外部オブジェクトは、外部リソースのクラスに厳密に対応しています。
GeneXus で外部オブジェクトを定義すると (および外部リソースが公開するメソッドとプロパティが適切にマッピングされると)、ユーザーは GeneXus ソース内のそれらのメソッドとプロパティを管理できます。
注: .NET および Java には、外部オブジェクト構造の定義を支援するためのツールが用意されています:
- .NET アセンブリー インポート ウィザード
- Java クラスのインポートウィザード
これらのツールには、 [ ツール ] メニューの [ アプリケーションの統合 ] オプションからアクセスできます。
Name: 外部オブジェクトの名前
Description: 説明
Type: 外部オブジェクトのタイプ (ネイティブオブジェクト)
Namespace: クラスの名前空間
Module/Folder: 外部オブジェクトが配置されているフォルダ
Object Visibility: 別のモジュール内の他のオブジェクトからのアクセシビリティ
.NET/.NET Framework Information
.NET/.NET Framework External Name: 外部クラスの名前 (.dll)
.NET/.NET Framework Assembly Name: 外部オブジェクトに関連付けられているアセンブリー名
.NET/.NET Framework Constructor Parameters: アセンブリーコンストラクターに渡されるパラメーターのリスト (コンマ区切り)。コンストラクターのパラメーターは常に定数です。
.NET Package ID: 外部オブジェクトの一意の ID。
Java Information
Java External Name: 外部クラス (.class) の名前
External Package Name: 外部オブジェクトに関連付けられたクラスが配置されているパッケージの名前
Java Constructor Parameters: 外部クラスコンストラクターに渡されるパラメーターのリスト (コンマ区切り)。クラスコンストラクターのパラメーターは常に定数です。
Property Type: [ Read ] 、 [ Write ] 、 [ Read/Write ] 、または [ Member ] を指定
Internal Name: プロパティに与えられる内部名
Description: 説明
Type: プロパティが GeneXus 内で保有するデータのタイプ
IsStatic: 静的かどうかを指定 (True、False)
Control Type: 表示するコントロールのタイプ
.NET/.NET Framework Information
.NET/.NET FrameworkInternal Name: .NET クラス内のプロパティの外部名
.NET/.NET FrameworkExternal Type: プロパティの外部データタイプ
Java Information
Java External Name: Java クラス内のプロパティの外部名
Java External Type: プロパティの外部データタイプ
Internal Name: メソッドの内部名
Description: 説明
Type: 戻り値のデータタイプ
Based on: 他のデータタイプに依存するかどうかを指定
XML Name: メソッドの表示名
Is static: 静的かどうかを指定 (True、False)
External Member Type: 有効な値は [ Default ] 、 [ Static ] 、 [ Instance ] の 3 つ
.NET/.NET Framework Information
.NET/.NET Framework External Name: .NET クラス内のメソッドの外部名
.NET/.NET Framework External Type: 戻り値の外部データタイプ
Java Information
Java External Name: Java クラス内のメソッドの外部名
Java External Type: 戻り値の外部データタイプ
Java Method Throws Exceptions: 外部クラス内のメソッドが例外を送信するかどうかを指定 (既定値は No)
Access Type: 入力のみのパラメーター、出力のみのパラメーター、または入出力パラメーターの区別
Internal Name: パラメーターの内部名
Description: 説明
Type: GeneXus 内における、このパラメーターのデータタイプ
External Type: パラメーターの外部データタイプ
GeneXus では、イベントを必ず静的として定義する必要があります。
"Mathss" という名前の、ネイティブ オブジェクト タイプの外部オブジェクトを作成するとします。 次に、&Maths という名前の Maths 変数を定義します。
コードは次のようになります:
Event enter
&res = &Maths.Sum(&parm1,&parm2)
EndEvent
メソッドは、両方の値の合計を返します。1 つ目と 2 つ目のパラメーターは、追加される値です。
.NET: アセンブリーにアクセスするために外部オブジェクトを使用している場合は、アセンブリーを作業環境の bin ディレクトリーにコピーする必要があります。アプリケーションをデプロイする場合に、このアセンブリーを本番運用に移行する必要があります。
Java: Java クラスの場合は、外部クラスを格納する JAR および zip がクラスパスに含まれている必要があります。
JavaScript: JavaScript リソースは Web アプリケーションのほかの静的リソース内に配置されている必要があります。このリソースは、次に示すように GeneXus コードで参照する必要があります:
- ベクトルおよび行列の値はサポートされていません。サポートされているのは
スカラー変数だけです。
- String [ ] や Date [ ] などの配列データタイプはサポートされていません。
- 列挙データタイプはサポートされていません。
- Initialized という名前または他の予約語の外部オブジェクトメソッドがある場合、それを別の名前で定義する必要がありますが、 [ External Name ] プロパティは保持されます。
Android 用の外部オブジェクト
iOS デバイス用の外部オブジェクト
JavaScript 用の外部オブジェクト