wwDotNetBridge::RunThread
less than 1 minute to read

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

Note:
Requires ThreadRun.dll which contains ThreadRun.ThreadRunner COM object. This FoxPro COM object must be registered on the machine.

o.RunThread(lcPrgFilename,loEvents)

Parameters

lcPrgFilename
The path to the PRG file to run. FullPath() is applied to this file.

loEvents
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.

Example

foxpro
*** 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.

foxpro
*** 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

© West Wind Technologies, 2023 • Updated: 06/07/17
Comment or report problem with topic