The TROInitializedThread abstract class is designed to be a base class for all thread classes used internally in the Remoting SDK. This class is needed to provide an optional COM library initialization ability for the thread.
COM initialization is necessary if the thread is supposed to use any external COM-based library, such as MS XML. The initialization consists of calling the CoInitialize function on thread start and CoUninitialize before the thread terminates. The initialization function sets the concurrency model as single-thread apartment (STA).
The initialization-related behavior is controlled with the global variable ROInitializeThreads (boolean type, uROClasses unit). Setting this variable to true enables the COM library initialization. The default value is false.
Users won't need to use this class (or its descendants) directly, but it is possible to subclass it to benefit from the COM library initialization logic implemented there.
- Unit: uROInitializedThread.pas
- Ancestry: TThread | TROInitializedThread
Creates a new class instance (standard thread class constructor).
constructor Create(CreateSuspended: Boolean)
- CreateSuspended: When set to true, this parameter allows to create a thread that will not be started right after it is created. This allows to do some thread class configuration before the execution begins.
Execute protected override
This method will be executed on the background thread, and should contain the user code. In this class, the Execute method must not be overridden in descendant classes, override IntExecute instead.
- CoInitialize function
- CoUninitialize function