計算スクリプトの送信を開始し、オプションでアクティブ・データベースに対して計算スクリプトを実行します。その後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
関連トピック