最近のアクセス:
スマートデバイスでの動的な呼び出し

ネイティブ モバイル アプリケーションのイベントでは、Call コマンドがサポートされています。呼び出されるオブジェクトは、設計時または実行時に定義できます。後者を、動的な呼び出しと呼びます。
サポートされている構文は次のとおりです:
Call( {'pgm '&var  | ATT:att }  [ {, parm} … ]  )
その他の方法は、「ネイティブ モバイル アプリケーションのイベントからの Work With のエレメントの呼び出し」で説明しています。

動的な呼び出し

構文
Call( {&var | ATT:att}   [ {, parm} … ]  )
&var または att の形式は <タイプ>:<名前> [ ?<パラメーター> [ {, parm} … ] ]
サポートしているタイプは次のとおりです:
sd Dashboard、Work With for Smart Devices パターンインスタンス、Panel for Smart Devices
prc REST プロシージャー
wbp Web オブジェクト
eo 外部オブジェクト
   
<名前> オブジェクト名
注:
GeneXus X Evolution 3 以降、ビルドメカニズムに最適化が追加されたことにより、各メインオブジェクトに必要なメタデータだけが生成されるようになりました。そのため、動的に呼び出され、メインのコールツリーにないオブジェクトにも、ダミーの呼び出しを含める必要があります。

1.固定パラメーターを持つディスパッチャー
Event 'ViewPerson'
    Composite
        &Object = GetPersonDetailLayout(PersonType)
        call(&Object,PersonId)
    EndComposite
EndEvent
procedure: GetPersonDetailLayout

Parm(in:&PersonType,out:&Object);

if &PersonType = Type.Person
   &Object = "sd:WorkWithDevicesPerson.Person.Detail"
else
   &Object = "sd:WorkWithDevicesDean.Dean.Detail"
endif
2.動的なパラメーターが割り当てられたディスパッチャー
Event 'ViewPerson'
    Composite
        &Object = GetPersonDetailLayout(PersonType,PersonId)
        call(&Object)
    EndComposite
EndEvent 
procedure: GetPersonDetailLayout

Parm(in:&PersonType,in:&PersonId,out:&Object);

if &PersonType = Type.Person
   &Object = "sd:WorkWithDevicesPerson.Person.Detail?"+&PersonId.ToString().Trim()
else
   &Object = "sd:WorkWithDevicesDean.Dean.Detail?"+&PersonId.ToString().Trim()
endif
//メインのコールツリーに含まれる、メインオブジェクトまたはオブジェクトの場所: 
if 1 = 0
   WorkWithDevicesPerson.Person.Detail("1")
   WorkWithDevicesDean.Dean.Detail("1")
endif

変数 &Object が空の場合は、動的な呼び出しで無視されます。
 
 








サブページ
Created: 15/01/07 22:43 by Admin Last update: 21/10/28 23:28 by Admin
カテゴリ
Powered by GXwiki 3.0