Allows firing off a PRG file on a new thread. Compiles and executes this PRG and can fire events to an loEvents object passed in as a parameter. You can implement callback functionality on the loEvents object.
The loEvents object must inherit from ThreadRunnerEvents which provides basic events for OnStarted,OnCompleted,OnCancelled,OnError
Requires ThreadRun.dll which contains ThreadRun.ThreadRunner COM object. This FoxPro COM object must be registered on the machine.
The path to the PRG file to run. FullPath() is applied to this file.
Object that inherits from ThreadRunnerEvents. Object can implement properties and methods that can be called from the PRG file that executes.
The PRG file receives this event object as a single parameter.
*** Load ThreadRunnerEvents base object Do ThreadRunnerEvents *** Event object must persist so make it public *** or attach to an application level object as a property public poEvent *** Create an event object instance poEvent = CREATEOBJECT("MyEventHandler") *** Create wwDotNetBridge instance loBridge = CREATEOBJECT("wwDotNetBridge") *** Fire off the thread. Returns immediately - thread runs in background loBridge.RunThread("ThreadRun.prg",poEvent) RETURN DEFINE CLASS MyEventHandler as ThreadRunnerEvents FUNCTION Notify LPARAMETER lcMessage wait window nowait lcMessage ENDFUNC ENDDEFINE
The PRG can then run a long running task.
*** ThreadRun.prg LPARAMETER loEvents DO wwhttp loEvents.Notify("Processing Started.") loHttp = CREATEOBJECT("wwhttp") lcHtml = loHttp.HttpGet("http://www.west-wind.com/somelongrunning.htm") Sleep(2000) loEvents.Notify("Processing Complete")
See also:Class wwDotNetBridge
Comment or report problem with topic