外部オブジェクトの使い方 : ネイティブ・オブジェクト編

外部オブジェクトを使う事でネイティブ・オブジェクトつまり各ジェネレーター環境における外部ライブラリ(GeneXusを使用せずに作成したライブラリ)を利用する事が可能になります。

1.外部オブジェクトの作成

ネイティブ・オブジェクトに関しては、Webサービスと同様にウィザードを使って簡単に外部オブジェクトを作成する事ができます。

「ツール」メニュー→「アプリケーションの統合」→「.Netアセンブリインポート」または「Java クラスのインボート」を選択




この例は.Netアセンブリをインポートします。
インポートウィザードに従って各種インポート設定をします。

インポート対象となるDLLを選択します

Prefix : インポートした時に付けられるオブジェクト名のプリフィックスを指定します
Folder : インポートした時に保存されるフォルダ名を指定します

外部オブジェクトとしてインポートするクラス・メソッドを選択します
メソッドはインポート後にも削除できるので判らない場合は全て対象しても大丈夫です

外部ライブラリをインポートし作成された外部オブジェクト

オブジェクトのプロパティはDescription以外変更する必要はありません
メソッド・プロパティは使用するものだけ残してあとは削除します

メソッドのパラメータの型がAnyObjectになっているものは、適切なGeneXusの型に変更します
この例ではパラメータ「message」がプリミティブな型ではなくSystem.Objectだったため
AnyObjectという外部オブジェクトにマッピングされています

メソッドの戻り型としてAnyObjectになっているものも変更します


プリミティブな型以外に外部オブジェクトとして取り込んだもの(クラス)も指定可能です



2.外部オブジェクトの使い方

使い方は他の外部オブジェクト(Webサービス・ストアドプロシージャ)と同様に変数を宣言し、その型として外部オブジェクトを指定します。
あとは、コード上であたかもGeneXusオブジェクトの様に記述する事が可能です。
上記インポートの例ではLog4Netを題材にしていますが、Log4Netの外部オブジェクトとしての使い方は過去の記事「.net環境でのログ出力方法」を参照ください。



コメント

このブログの人気の投稿

データプロバイダーを使いこなそう - 応用編その4 スケジューラー 補足編

HTMLヘッダーにあれこれ直接追加したいとき

GeneXusにおけるWebアプリケーションセキュリティ対策 - OWASP 2010 Top10 Security Risks in GeneXus Applications