Navigation: ABC Library Reference >WorkingThreadManager | |
The WorkingThreadManager Class allows you to run a background process on another thread. The background thread does not need a Window. The background thread can be paused, restarted or cancelled, and by default will send notifications back to the thread which started the background process.
The WorkingThreadManager class is defined in CWSYNCWT.INC and the implementation is in CWSYNCWT.CLW located in your Clarion\Libsrc\Win folder.
Go to Template support:
WorkingThreadManager CLASS,MODULE('CWSYNCWT.CLW'),LINK('CWSYNCWT.CLW',1),DLL(0),TYPE
_Finish BYTE,PRIVATE
_IsCancelled BYTE,PRIVATE
_IsPaused BYTE,PRIVATE
_UseNotification BYTE,PRIVATE
_CallingThreadNumber SIGNED,PRIVATE
_WorkingThreadNumber SIGNED,PRIVATE
_StackSize UNSIGNED,PRIVATE
_Lock_WorkingThread &ICriticalSection,PRIVATE
_AccessTo_IsCancelled &IReaderWriterLock,PRIVATE
_AccessTo_IsPaused &IReaderWriterLock,PRIVATE
_AccessTo_StackSize &IReaderWriterLock,PRIVATE
_AccessTo_ClassData &IReaderWriterLock,PRIVATE
_ThreadProcAddress LONG,PRIVATE
_WhenFinishProcAddress LONG,PRIVATE
_CallerUpdateAddress LONG,PRIVATE
Construct PROCEDURE()
Destruct PROCEDURE()
!!! <;summary>
!!! StartProcess() calls the virtual method WorkingThreadProcess
!!! WorkingThreadProcess is where you place the code that starts your PROCEDURE on a background thread
!!! <;/summary>
!!! <;param name=“pUseNotification”>If the value is true (default) when the background Procedure is finished
!!! the virtual WhenProcessFinish method is called <;/param>
StartProcess PROCEDURE(BYTE pUseNotification = 1)
StartProcess PROCEDURE(BYTE pUseNotification = 1, LONG pThreadProcAddress, LONG pWhenFinishProcAddress, LONG pCallerUpdateAddress)
StartProcessThreaded PROCEDURE()!Should be private to the module
PauseProcess PROCEDURE()
ResumeProcess PROCEDURE()
CancelProcess PROCEDURE()
ResetProcess PROCEDURE()
DoWorkingThreadProcess PROCEDURE(),PRIVATE
WorkingThreadProcess PROCEDURE(),VIRTUAL,PROTECTED
TakeEvent PROCEDURE()
DoWhenProcessFinish PROCEDURE(),PRIVATE
WhenProcessFinish PROCEDURE(),VIRTUAL,PROTECTED
DoCallerUpdate PROCEDURE(),PRIVATE
UpdatingCaller PROCEDURE(),VIRTUAL,PROTECTED
UpdateCaller PROCEDURE(),PROTECTED
IsPaused PROCEDURE(),BYTE
IsCancelled PROCEDURE(),BYTE
IsStarted PROCEDURE(),BYTE
IsProcessFinish PROCEDURE(),BYTE
AssignToClass PROCEDURE(BYTE pVal=0)
AssignFromClass PROCEDURE(BYTE pVal=0)
DoAssignToClass PROCEDURE(BYTE pVal=0),VIRTUAL,PROTECTED
DoAssignFromClass PROCEDURE(BYTE pVal=0),VIRTUAL,PROTECTED
GetWorkingThreadNumber PROCEDURE(),LONG
GetStackSize PROCEDURE(),UNSIGNED
SetStackSize PROCEDURE(UNSIGNED pValue)
END