![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Компоненты на форме. [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]В коде ошибок нет.