Al parecer he tocado la flauta (como el burro
).
No trabajo con C++ por lo que no sé si debes usar el operador punto o el operador flecha al llamar al método en cuestión, (supongo será la flecha, por aquello de punteros).
Como he dicho, los mensajes de repintado, tienen poca prioridad en windows, así que se acumulan dichos mensajes pero no se procesan inmediatamente (por ello piensas "que no ejecuta los cambios aún cuando entra en el método"), es lógico y normal en windows.
Una opción:
Código:
for (int j=0;i<= (Contenedor->ControlCount);j++)
{
If (Contenedor->Controls[j]->Name ==Nombre)
{
TLabel(Contenedor->Controls[j]).Metodo();
TLabel(Contenedor->Controls[j]).Update; // forzamos a que se pinten los cambios hechos inmediatamente.
i++; Nombre = "TLabel" + IntToStr(i);
}
}
Saludos