Delphi Tips&Tricks News   Tips   .NET Software   VCL Software   Search   Contacts
Ultimate Pack - special offer!

Ultimate Pack  hot!
Image Editor  new!
Runtime Fusion
Form Designer
Object Inspector
Print Suite Pro
Commented Image
Delphi Toys
WinDowse
Delphi Bonus
TMS Scripter Studio
Form Designer VB
Form Designer .NET

...get more...
for Delphi.NET, C#, VB.NET
for Delphi VCL, BCB 3-6

WinAPI Online
Unix Manual Pages
MegaDetailed.NET
in3steps.com
cdtrrracks.com new!

Blogspot  greatis.blogspot.com

Create/destroy thread - Application - Tips & Tricks - Greatis Delphi Pages

This is a simple example, which shows how to create and destroy an additional thread for your application.

First of all, you should declare new thread object and override Execute method. Use Create method to create new thread for your application. Use FreeOnTerminate property to free and destroy your thread.


type
  TTestThread = class(TThread)
  private
    j: Integer;
  protected
    procedure GetInfo;
    procedure Execute; override;  
  end;

...

procedure TTestThread.Execute;
var
  i, j: Integer;
begin
  SendMessage(Form1.Handle,
    WM_SETTEXT, 0, Integer(PChar('Thread is created')));
  j:=1;
  FreeOnTerminate:=True;
  for i:=1 to 90000000 do
  begin
    if Terminated then break;
    Inc(j, Round(Abs(Sin(Sqrt(i)))));
  end;
  SendMessage(Form1.Handle,
    WM_SETTEXT, 0, Integer(PChar('Thread is destroyed')));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  NewThread: TTestThread;
begin
  NewThread:=TTestThread.Create(False);
end;
Related topics
Synchronize thread with application
Set/get total thread priority
Suspend/resume thread

For more
Delphi Help

Download source