| モジュール - 動的な呼び出し | |
GeneXus の多くのコマンドと関数が、オブジェクトの動的な実行をサポートしています (詳細については、Call コマンド、Link コマンドなどを参照してください)。ここでは、動的な実行とモジュールオブジェクトのプロパティとの関係について説明します。
これは推奨しませんが、静的に実行できないオブジェクトを動的に実行することができます。
たとえば、オブジェクト X がモジュール M の非公開オブジェクトであり ( [ Object Visibility ] プロパティを参照)、オブジェクト Y (モジュール M 以外) からオブジェクト X を実行するとします。
Y で静的な呼び出しを行う場合、次のようになります:
M.X()
この場合、Y の保存時、または指定時に、"Validation of Procedure 'CallPrivate' failed. error: Program 'X' does not exist." というエラーメッセージが表示されます。Y で動的な呼び出しを行う場合、次のようになります:
&MX = "M.X"
Call( &MX)
この場合、指定時にも実行時にも、オブジェクトのプライバシーに関連するエラーは発生しません。
動的な呼び出しを拡張するとき、呼び出し元からアクセスできないオブジェクト (ほかのモジュールの非公開オブジェクト) は含まれません。
|
|
|
|
|