Class TMyThread: public TThread
{
Private:
TEdit * edt;
DWORD n;
Public:
_ Fastcall TMyThread (TEdit * Edit)
: TThread (false)
{
Edt = Edit;
N = Edit-> Text. ToIntDef (0 );
Edt-> Tag = (int) this;
};
_ Fastcall ~ TMyThread (void)
{
Edt-> Tag = 0;
};
Void _ fastcall Execute (void)
{
While (! This-> Terminated)
{
Sleep (200 );
This-> Synchronize (ShowData );
}
}
Void _ fastcall ShowData (void)
{
If (edt! = NULL) edt-> Text = IntToStr (n ++ );
}
};
Void _ fastcall TForm1: FormCreate (TObject * Sender)
{
Button1-> OnClick = Button1Click;
Button2-> OnClick = Button1Click;
Button3-> OnClick = Button1Click;
Button4-> OnClick = Button1Click;
}
Void _ fastcall TForm1: Button1Click (TObject * Sender)
{
If (Sender = Button1) new TMyThread (Edit1 );
Else if (Sender = Button2) new TMyThread (Edit2 );
Else if (Sender = Button3) delete (TMyThread *) Edit1-> Tag;
Else if (Sender = Button4) delete (TMyThread *) Edit2-> Tag;
}