It seems which Synchronize cannot be used from a Thread created using CreateAnonymousThread, so the question is : How i can update a VCL component from inside of a Th
You could also use PostMessage to safely queue, or SendMessage to safely synchronize from an anonymous thread.
You can use PostMessage(Form.Handle, WM_UPDATEMYCOMP, 0, 0);
You can define your own message id, wparam, lparam, with a bit of work you can turn them into more complicated parameters.
You can use synchronize in this case, e.g.:
TThread.Synchronize(nil, procedure begin UpdateComponent(); end);
And if you want asynchronous method call execution within the main thread, you can use TThread.Queue
, e.g.:
TThread.Queue(nil, procedure begin UpdateComponent(); end);