اصل اول کار با ترد ها اینه که از داخل یک ترد به عناصر Visual برنامه دسترسی مستقیم نداشته باشید، تمام ترسیمات گرافیکی باید در ترد اصلی انجام بشه
برای تغییر بر روی عناصر ویژوال باید از روشهای Synchronization استفاده کنید، ساده ترین حالت استفاده از دستور Synchronize هستش، مثال :
procedure TMyThread.Execute;
begin
Synchronize(aaa);
// OR
Synchronize(Procedure
begin
Form2.Caption := '12345';
end);
end;
با دستور Synchronize متدی که به عنوان ورودی میدید در بدنه ترد اصلی اجرا میشه
در حالت کلی استفاده از منابع مشترک در چند ترد باید با روشهای Synchronization مدیریت بشه
برای متد Execute نیازی به استفاده از Inherited نیست