最近のアクセス:
Composite コマンド

エラーで中断されない限り最後の行まで順番に実行される GeneXus コードをグループ化します。

構文

Event 'ClientEventName' | Control.AssociatedControlEvent
   Composite
      Event_code
   EndComposite
EndEvent

入力値の説明:

ClientEventName
     ユーザーイベントの名前です。
Control
     AssociatedControlEvent イベントをプログラミングするコントロール名です。
AssociatedControlEvent
     コントロールに関連付けられるそれぞれのイベント (コントロールタイプに応じて、タップ、ロングタップ、ドラッグ、ドロップ、PageChanged、ControlValueChanged など) です。
Event_code
    イベントが発生した場合に実行されるコードの詳細を示します。  2 つ以上のコマンドが必要です。

説明

Composite/EndComposite のコードブロックで、GeneXus コードをグループ化します。このコードは、途中の行でエラーが発生した場合を除いて、最後の行まで順番に実行されます。エラーが発生した場合は、シーケンスは中断されます。
したがって、主に次の 2 つが前提となります:
  1. 命令 (呼び出しまたは割り当て) の 1 つが失敗すると、残りは実行されません。
  2. エラーメッセージ (自動的なものと開発者がロードしたもの) がデバイス画面に表示されます。 
1 つのイベントに対して複数回の呼び出しが行われる場合において、かならずしもこのコマンドを実行する必要はありません。代わりに &Err と &ErrMsg 変数を使用してエラー処理を実行できます。  
&Err 変数の値は、エラーが発生したときは 0 より大きい値、処理が正常に実行された場合は 0 になります。

&Err 値が正のときは、その値がエラーの内容を示します:
  • 1: 一般的なエラー、
  • 2: ユーザーによるアクションのキャンセル
  • 3: パラメーターの誤り。
イベントによって Procedure オブジェクトData Provider オブジェクトなどのサーバー側の GeneXus オブジェクトが呼び出されたときにエラーになった場合は、&Err の値は返却される HTTP コードを反映します。たとえば、HTTP 404 や 500 などです。 
サーバーから応答がなかった場合は (HTTP コードなし)、&Err が 1 に設定されます。

&ErrMsg 変数にはエラーのデスクリプションが格納され、Composite ブロック内の場合はそのデスクリプションが画面に表示されます。

Composite コマンドを使用しない場合は、エラーメッセージは自動的にはエンドユーザーに表示されません。エラーの処理とエンドユーザーへの通知をどのように行うかはユーザー側の責任であることにご注意ください。

サンプル

Composite コマンドを使用したサンプル

Event 'UpdateEmail'
  Composite 
    UpdateEMail.Call(ClientId,&ClientEmail) 
    Interop.SendMessage("Your Email has been updated successfully in my database", ClientMobilePhone) 
  EndComposite
EndEvent

Composite コマンドを使用しないサンプル

Event 'UpdateEmail'
   UpdateEMail.Call(ClientId,&ClientEmail) 
   If &Err <> 0 
      msg(&ErrMsg) 
   Else 
      Interop.SendMessage ("Your Email has been updated successfully in my database", ClientMobilePhone) 
   EndIf
EndEvent

参考情報

Composite の例

動画

イメージ:20668.png Grammar of Events on the Client Side and Composite Command
イメージ:20668.png Events in Mobile Applications
  

サブページ
Created: 14/09/18 03:10 by Admin Last update: 24/11/05 17:44 by Admin
カテゴリ
Powered by GXwiki 3.0