Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

この再利用可能パーツはチュートリアル 2 で作成したものと同じものです。ですから、すでにチュートリアル 2 を終了していれば、この再利用可能パーツは作成されいます。その場合は、以下を飛ばして次のセクションに進んでください。

Image Modified






この新規再利用可能パーツに次のコードを入れます。

Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_OBJT)

   * OK & ErrorMessage 値を保持する変数
   Define_Com Class(#PRIM_BOLN) Name(#gOK)
   Define_Com Class(#PRIM_DC.UnicodeString) Name(#gErrorMessage)
   * プロパティ: OK & ErrorMessage
   Define_Pty Name(OK) Get(*AUTO #gOK) Set(*AUTO #gOK)
   Define_Pty Name(ErrorMessage) Get(*AUTO #gErrorMessage) Set(*AUTO #gErrorMessage)
   * OK ステータス & エラー・メッセージを HTTP 応答オブジェクトから読み込むルーチン
   Mthroutine Name(FromHttpResponse)
      Define_Map For(*INPUT) Class(#XPRIM_HttpResponse) Name(#HttpResponse) Pass(*BY_REFERENCE)
      Define_Com Class(#XPRIM_RandomAccessJsonReader) Name(#Json)
      * プロパティ初期化
      #gOK := False
      #gErrorMessage := ''
      * 応答があるかどうか確認…
      If (#HttpResponse.IsSuccessfulRequest)
         * 応答 JSON の読み込み
         #Json.SetSourceHttpResponse HttpResponse(#HttpResponse)
         * 要求が OK ステータス・コードを返したかどうか確認
         If (#HttpResponse.IsSuccessHttpStatusCode)
            #gOK := True
         Else
            * JSON 応答からエラー・メッセージを読み込む
            #gErrorMessage := #Json.ReadStringWithName( 'errorMessage' )
         Endif
      Else
         #gErrorMessage := #HttpResponse.ErrorMessage
      Endif
   Endroutine
End_Com

...