計算スクリプトの送信を開始し、オプションでアクティブ・データベースに対して計算スクリプトを実行します。その後EsbSendString()を呼び出して計算スクリプトを送信し、最後にEsbEndCalc()を呼び出す必要があります。計算スクリプトの長さは、合計で64KB未満であることが必要です。計算を開始することも、または計算スクリプトの確認のみを行いエラーを戻すこともできます。
構文
EsbBeginCalc ( hCtx, isCalculate ) ByVal hCtx As Long ByVal isCalculate As Integer
パラメータ | 説明 |
---|---|
hCtx |
VB APIコンテキスト・ハンドル。 |
isCalculate |
計算スクリプトの計算を制御します。TRUEの場合は、計算スクリプトが実行されます。 |
備考
この関数が正しく実行され、計算を開始すると、この呼出しから戻った後も、サーバー上で非同期プロセスとして続行します。呼出し元はESB_STATE_DONEが戻されるまでEsbGetProcessState()を呼び出して、プロセスが完了したことを定期的に確認する必要があります。
CalculateフラグがFALSEに設定されている場合、データベースは計算スクリプトの構文チェックのみを行います。
戻り値
なし。
アクセス
この関数を使用するには、呼出し元はアクティブなデータベースに対して計算権限(ESB_PRIV_CALC)を持っている必要があります。
例
Declare Function EsbBeginCalc Lib "ESBAPIN" (ByVal hCtx As Long, ByVal Calculate As Integer) As Long Sub ESB_BeginCalc () Dim sts As Long Dim Script As String Dim Calculate As Integer Dim ProcState As ESB_PROCSTATE_T Script = "CALC ALL;" Calculate = ESB_YES '*********** ' Begin Calc '*********** sts = EsbBeginCalc (hCtx, Calculate) '*********************** ' Send Calc script '*********************** sts = EsbSendString (hCtx,Script) '********* ' End Calc '********* sts = EsbEndCalc (hCtx) '************************************ ' Check process state until it is done '************************************ sts = EsbGetProcessState (hCtx, ProcState) Do Until ProcState.State = ESB_STATE_DONE sts = EsbGetProcessState (hCtx, ProcState) Loop End Sub
関連トピック