added LSL2 stored procedures
This commit is contained in:
110
LSL2/STPROC/ADCSVR_EVENTS.txt
Normal file
110
LSL2/STPROC/ADCSVR_EVENTS.txt
Normal file
@ -0,0 +1,110 @@
|
||||
Function ADCSVR_Events(CtrlEntId, Event, Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10)
|
||||
/********************************************************************************
|
||||
|
||||
*********************************************************************************/
|
||||
|
||||
#pragma precomp SRP_PreCompiler
|
||||
#Window ADCSVR
|
||||
|
||||
$INSERT ENVIRON_CONSTANTS
|
||||
$INSERT LOGICAL
|
||||
|
||||
EQU STOP$ TO 0
|
||||
EQU START$ TO 1
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
|
||||
ErrTitle = 'Error in Comm_Dialog_ADCSVR routine'
|
||||
|
||||
DECLARE SUBROUTINE Center_Window, StatusLine, Set_Property, End_Dialog, Send_Event, Set_Status, Adios
|
||||
DECLARE SUBROUTINE ErrMsg, Send_Message, obj_Tables, Post_Event, ShowWindow, obj_ADCSVR, Yield, Utility
|
||||
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, FindWindow
|
||||
|
||||
GoToEvent Event for CtrlEntId
|
||||
|
||||
Return RetVal else 1
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// Events
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Event WINDOW.CREATE(CreateParam)
|
||||
|
||||
Set_Status(0)
|
||||
otParms = 'SYSOBJ':@RM:'ADC_SERVER'
|
||||
obj_Tables('LockRec',otParms) ;* Places lock on fictional record
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrorMsg = ErrTitle:@SVM:'Another ADC server is already running.'
|
||||
ErrMsg(ErrorMsg)
|
||||
Post_Event(@WINDOW,'CLOSE')
|
||||
end else
|
||||
Set_Property(@WINDOW,'@ADC_SERVER',STOP$) ;* Set ADC server property '@ADC_SERVER' to stop
|
||||
GoSub StartStop
|
||||
end
|
||||
|
||||
end event
|
||||
|
||||
Event WINDOW.TIMER()
|
||||
|
||||
Yield(); Yield(); Yield(); Yield(); Yield(); Yield(); Yield(); Yield(); Yield()
|
||||
StartStop = Get_Property(@WINDOW,'@ADC_SERVER')
|
||||
|
||||
IF (StartStop = START$) THEN
|
||||
obj_ADCSVR('MetrologyData','')
|
||||
END
|
||||
|
||||
end event
|
||||
|
||||
Event WINDOW.CLOSE(CancelFlag)
|
||||
|
||||
otParms = 'SYSOBJ':@RM:'ADC_SERVER'
|
||||
obj_Tables('LockRec',otParms) ;* Places lock on fictional record
|
||||
Set_Status(0)
|
||||
obj_Tables('UnlockRec',otParms) ;* Removes lock on fictional record
|
||||
Utility('DESTROY', 'SYSTEM')
|
||||
|
||||
end event
|
||||
|
||||
Event START_STOP_BUTTON.CLICK()
|
||||
|
||||
GoSub StartStop
|
||||
|
||||
end event
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// Internal GoSubs
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
**********
|
||||
StartStop:
|
||||
**********
|
||||
|
||||
StartStop = Get_Property(@WINDOW:'.START_STOP_BUTTON','TEXT')
|
||||
|
||||
IF (StartStop = 'Stop ADC Server') THEN
|
||||
|
||||
* ADC server is running
|
||||
Set_Property(@WINDOW, 'TIMER', '')
|
||||
Set_Property(@WINDOW,'@ADC_SERVER',STOP$) ;* Turn off ADC server
|
||||
Set_Property(@WINDOW:'.START_STOP_BUTTON','TEXT', 'Start ADC Server')
|
||||
Set_Property(@WINDOW:'.CLOSE_BUTTON','ENABLED',1)
|
||||
|
||||
END ELSE
|
||||
|
||||
Interval = Get_Property(@Window : '.INTERVAL', 'INVALUE')
|
||||
If Interval EQ '' then
|
||||
Interval = 5
|
||||
Set_Property(@WINDOW:'.INTERVAL','INVALUE',Interval)
|
||||
end
|
||||
Set_Property(@WINDOW, 'TIMER', Interval * 1000) ;* Set timer event to 5000 msecs (5 seconds) to check for shutdown time.
|
||||
|
||||
Set_Property(@WINDOW:'.START_STOP_BUTTON','TEXT', 'Stop ADC Server')
|
||||
Set_Property(@WINDOW,'@ADC_SERVER',START$) ;* Start the ADC server process
|
||||
Set_Property(@WINDOW:'.CLOSE_BUTTON','ENABLED',0)
|
||||
|
||||
END
|
||||
|
||||
return
|
Reference in New Issue
Block a user