Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Непонимаю, чего ненравится компилятору?


Erik1 ©   (2005-01-07 11:05:00) 

Есть выражение:
if Tabsheet.ComponentState in [csDestroying, csFixups, csFreeNotification, csLoading, csReading] then
Exit;
Ошибка: [Error] fData.pas(584): Incompatible types: 'TComponentState' and 'Enumeration'
Чегото я непойми в чем дело?


Erik1   (2005-01-07 11:37:00) [1]

Да, логично. Просто никогда со множествами так неработал.


begin...end   (2005-01-07 11:35:00) [2]

> [2] Erik1 ©   (07.01.05 11:31)

Если ComponentState не содержит ни одного элемента из указанного множества, то пересечение ComponentState с указанным множеством будет пустым множеством.


MBo   (2005-01-07 11:34:00) [3]

И что непонятно?


Erik1   (2005-01-07 11:31:00) [4]

Мне надо выйти если ComponentState содержит хотябы один из элементов этого множества.


MBo   (2005-01-07 11:14:00) [5]

Дело в том, что TComponentState - набор, set, а in применяется для проверки, входит ли один элемент в set.
Используй оператор пересечения множеств *


Наверх

Титульная страница Поиск, карта сайта Написать письмо