![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Программа в процессе создает кнопку на карте страны.
Структура такая На форме ScrollBox (ImagePanel) на нем Image на Image создается TButton не могу удалить кнопку. for i:= ImagePanel.ComponentCount-1 downto 0 do begin if components[i].Name='bo'+Edit2.Text then begin ImagePanel.Components[i].Free; end; че в этом цикле неправильно? пишет "list index out of bounds" |
#2
|
||||
|
||||
![]() Код:
for u := 1 to 9 do begin if FindComponent('but'+inttostr(u)) <> nil then begin (Form1.FindComponent('but'+inttostr(u)).Free); end; end; |
#3
|
|||
|
|||
![]() Спасибо, с помощью тебя
получилось так if FindComponent('bo'+Edit2.Text)<>nil then (ImagePanel.FindComponent('bo'+Edit2.Text).Free) else ShowMessage('Объект не найден'); Последний раз редактировалось Gekos, 13.08.2009 в 18:31. |
#4
|
|||
|
|||
![]() Цитата:
В комде всё правильно за исключением того, что надо было обращаться к контролам с помощью свойства Controls. А Components - это например TXP манифест, который не является контролом. У тебя на ImagePanel не было таких компонентов отсюда и ошибка. |