Class tdirchangethread
Unit
Declaration
type tdirchangethread = class(tsemthread)
Description
This item has no description. Showing description inherited from tmsethread.
Runs a method or a global function in a separate thread, so that a long operation does not block the application while it runs. The following example starts a three second simulated operation in a thread while a paint box blinks to show that the user interface stays responsive, and properly terminates the thread when the form is destroyed.
uses main_mfm; { ttestthreadcontainer } destructor ttestthreadcontainer.Destroy; begin if FThread <> nil then begin FThread.Terminate; application.WaitForThread(FThread); FThread.Destroy; end; inherited; end; procedure ttestthreadcontainer.Run; begin FThread := tmsethread.Create(@Execute); end; function ttestthreadcontainer.Execute(thread: tmsethread): integer; begin Sleep(3000); mainfo.tmWait.Enabled := FALSE; ShowMessage('Operation completed.'); result := 0; end; { tmainfo } procedure tmainfo.ButtonExecute(const sender: TObject); begin tmWait.Enabled := TRUE; FThreadContainer.Run; end; procedure tmainfo.FormCreate(const sender: TObject); begin FThreadContainer := ttestthreadcontainer.Create(); FBlink := FALSE; end; procedure tmainfo.TimerExecute(const sender: TObject); begin pbWait.Invalidate; FBlink := not FBlink; end; procedure tmainfo.PaintBoxPaint(const sender: twidget; const acanvas: tcanvas); begin if FBlink then acanvas.FillRect(MakeRect(0, 0, sender.bounds_cx, sender.bounds_cy), CL_BLUE); end; procedure tmainfo.FormDestroy(const sender: TObject); begin FThreadContainer.Free; end;
Hierarchy
- TObject
- tmsethread
- tmutexthread
- tsemthread
- tdirchangethread
Overview
Methods
| Protected | function execute(thread: tmsethread): integer; override; |
| Public | constructor Create; |
| Public | destructor Destroy; override; |
| Public | procedure addnotification(const sender: tfilechangenotifyer; const filename: filenamety; const tag: integer; const force: boolean); |
| Public | procedure removenotification(const sender: tfilechangenotifyer; const filename: filenamety; tag: integer); |
| Public | procedure clear; |
Description
Methods
| Protected | function execute(thread: tmsethread): integer; override; |
|
This item has no description. | |
| Public | constructor Create; |
|
This item has no description. | |
| Public | destructor Destroy; override; |
|
This item has no description. | |
| Public | procedure addnotification(const sender: tfilechangenotifyer; const filename: filenamety; const tag: integer; const force: boolean); |
|
This item has no description. | |
| Public | procedure removenotification(const sender: tfilechangenotifyer; const filename: filenamety; tag: integer); |
|
This item has no description. | |
| Public | procedure clear; |
|
This item has no description. | |
Generated by PasDoc 1.0.4.