Почему возникает ошибка "illegal structure operation"
При описании цикла while с двойным условием типа "И" выдает Е2096: illegal structure operation. При этом если его напечатать(скопировать) вне цикла for, то все прекрасно работает.
Код:
bool Men = false;
bool Woman = false;
bool WomNom = false;
for (int cn = 0; cn < LB5->Items->Capacity; cn++)
{
if (LB5->Selected[cn])
{
Tab5_Nomin->First();
while ((!Tab5_Nomin->Eof) && (Form1_contest_info->Nominations[CheckNumNom(LB5->Items->Strings[cn])] != Tab5))
{
Tab5_Nomin->Tab_Nom->Next();
}
if (!Tab5_Nomin->FieldByName("DnD")->AsBoolean)
{
Men = true;
Woman = true;
}
else
{
if (Tab5_Nomin->FieldByName("DnDS")->AsBoolean)
{
Men = true;
}
else
{
Woman = true;
WomNom = true;
}
}
}
}
bool Woman = false;
bool WomNom = false;
for (int cn = 0; cn < LB5->Items->Capacity; cn++)
{
if (LB5->Selected[cn])
{
Tab5_Nomin->First();
while ((!Tab5_Nomin->Eof) && (Form1_contest_info->Nominations[CheckNumNom(LB5->Items->Strings[cn])] != Tab5))
{
Tab5_Nomin->Tab_Nom->Next();
}
if (!Tab5_Nomin->FieldByName("DnD")->AsBoolean)
{
Men = true;
Woman = true;
}
else
{
if (Tab5_Nomin->FieldByName("DnDS")->AsBoolean)
{
Men = true;
}
else
{
Woman = true;
WomNom = true;
}
}
}
}
LB5 - TListBox
Tab5_Nomin - TTable
Nominations - map в другом юните