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

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

Компоненты на форме. [D7, WinXP]


Антон Г. ©   (2005-07-05 11:10:00) 

Здравствуйте. Нужно сделть перебор всех компонентов на форме и, если это TCheckBox, то показать сообщение. Пишу


...
for i:=0 to Form1.ComponentsCount-1 do
If form1.Components[i] is TCheckBox then
Showmessage('Hello');
...


Количество компонентов на форме показывает правильно (они расположены еще и на TPageControl). Проверка не работает. Помогите пожалуйста.


Антон Г.   (2005-07-05 11:31:00) [1]

Только не убивайте... Не на той форме искал. Так тоже работает:
form1.Components[i].ClassName='TCheckBox'
Еще раз дико извиняюсь. Просто вчера ночью около получаса сидел ни как не мог понять, почему не работает. Сегодня утром решил спросить.


Юрий Зотов   (2005-07-05 11:27:00) [2]

> Drakosha ©   (05.07.05 11:19) [3]
Не поможет.

> Антон Г.   (05.07.05 11:10)  
Видимо, компоненты созданы в run-time и Owner у них - не форма. Сделайте Owner'ом форму и все будет ОК.


Anatoly Podgoretsky   (2005-07-05 11:21:00) [3]

Антон Г.   (05.07.05 11:17) [2]
Очень просто в данном контейнере нет компонент типа TCheckBox или его наследников


Drakosha   (2005-07-05 11:19:00) [4]

дельфы под рукой нет...но попробуй так

form1.Components[i].ClassName='TCheckBox'


Антон Г.   (2005-07-05 11:17:00) [5]

Интересно, а почему тогда проверка не срабатывает, т.е. сообщения не показываются. Проверял количество компонентов-правильное.


Anatoly Podgoretsky   (2005-07-05 11:12:00) [6]

В коде ошибок нет.


Наверх

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