关于
iFix 的经典问题解答
1:iFIX 中如何使用 vba 开启和停止 wsqlodc 和 alarmsODBC?
Description
The ability to stop or start the SQL task, wsqlodc, and to pause or continue the alarms to
ODBC task used to only be available by launching Mission Control and manually controlling
them.
The ability to perform this control programmatically using VBA was added as part of a SIM for
iFix 2.5. The function calls to allow this are not widely documented and are shown below: -
Resolution
Declare Function TurnOnSqlTask Lib "missionvba" (ByVal cmd$) As Long
'Turns on a SQL task. The cmd$ parameter is the command line passed to the SQL task
'Return of 0 is a success. Current logged in user must have security rights to turn
'on/off SAC. If a non-zero error code is returned, you can use the err2str
'utility in the fix base directory to translate the error to a string
Declare Function TurnOffSqlTask Lib "missionvba" () As Long
'Turns off a SQL task. Return of 0 is a success. Current logged in user must
'have security rights to turn on/off SAC. If a non-zero error code is returned,
'you can use the err2str utility in the fix base directory to translate the error to a string
Declare Function PauseAlarmODBC Lib "missionvba" () As Long
'Pauses the AlarmODBC task. Return of 0 is a success. Current logged in user does NOT
'have to have security rights.
'This function will execute regardless of the "Allow Operator to Pause Alarm Logging"
'Setting found in the iFIX ODBC Alarm Service Configurator of the System Configuration
'Utility.
Private Declare Function ContinueAlarmODBC Lib "missionvba" () As Long