Me estoy volviendo loco. Tengo esta pantalla:
que es un TPageControl con tres pestañas, cada una con sus TEdit, TImage, etc., y quiero recorrer los elementos de cada pestaña buscando exclusivamente los TImage. Para ello uso este código:
Código:
Source = this->FindComponent(PageControl1->ActivePage->Name);
TTabSheet *Sheet = static_cast<TTabSheet *>(Source);
for (nItem = 0; nItem < Sheet->ComponentCount; nItem ++)
{
Source = Sheet->Components[nCount];
if (!Source->ClassNameIs("TImage"))
continue;
}
Las dos primeras líneas las ejecuta sin ningún problema pero al llegar al inicio del bucle me encuentro que Sheet->ComponentCount vale 0 cuando debería vale 12 ó 13. También he comprobado que mientras la pestaña seleccionada tiene, por ejemplo, de dirección de memoria
:00B0A758, esa variable Sheet tiene
:00B0A19C, con lo cual es evidente que no es el mismo elemento, pero Source sí tiene el mismo valor de la pestaña. ¿Qué estoy haciendo mal?