Que yo sepa synchronize se utiliza con funciones de tipo
void __fastcall MyFunction(TObject* Sender)
{
VCLMethod();/*Esta función está implementada en la VCL principal */
}
que se declara en la implementación de los métodos del hilo ... y para llamarla y ejecutarla se utiliza (desde el hilo)ásí
synchronize(MyFunction);Se puede llamar cuantas veces la necesites y se ejecutará en el ámbito de la VCL principal toda vez que ella esté desocupada...