classTsleepfunc: PublicTcppinterfacedobject<tproc>{ Public: Tsleepfunc (TForm28*form): Fform (form) {}Virtual void__fastcall Invoke (void) { for(Fform->clientdataset1->first ();! fform->clientdataset1->eof; Fform->clientdataset1->Next ()) {Fform->clientdataset1->Edit (); Fform->clientdataset1->fieldbyname ("Stat")->value = fform->clientdataset1->RecNo; Fform->clientdataset1->Post (); } tthread::synchronize (Tthread::currentthread, updatecaption); } void__fastcall Updatecaption (void) {Fform->caption ="OK"; }Private: TForm28*fform;};// ---------------------------------------------------------------------------void__fastcall Tform28::button1click (TObject *Sender) {ClientDataSet1-Close (); ADOQuery1-Close (); ADOQuery1->sql->text ="SELECT * FROM Brda"; ADOQuery1-Open (); ClientDataSet1-Open (); Tthread::createanonymousthread (NewTsleepfunc ( This)),Start ();}
C++builder XE6 Thread