![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| harakiri |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 17.1.2011 Репутация: нет Всего: нет |
выдает ошибку list index out of bounds(58). Подскажите, в чем проблема? |
|||
|
||||
| Ne1tr1n0 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 1.3.2009 Репутация: нет Всего: 8 |
TAdvToolBarButton это что? Из TMS Components Pack?
Не нашёл у себя такого... TAdvToolButton есть, если он лежит на TAdvToolPanel, то ошибка повторяется. Я правильно смоделировал ситуацию? В этом случае, наверное логичней будет, если уж перечисляем коллекцию Components, то и обращаться нужно к соответствующим элементам, то бишь
|
|||
|
||||
| harakiri |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 17.1.2011 Репутация: нет Всего: нет |
Странно видел аналогичную ситуацию в другом приложении, там все работает без проблем.
|
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
почему Controls[i] если ComponentCount?
-------------------- Обижено школьников: 8 |
|||
|
||||
| harakiri |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 17.1.2011 Репутация: нет Всего: нет |
bems, извини не понял. Можешь подробнее объяснить, пожалуйста.
|
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
ComponentCount это количество в массиве Components
ControlCount это количество в массиве Controls Если i лежит между 0 и ComponentCount - 1 то ты не знаешь сущкствует ли Controls[i] -------------------- Обижено школьников: 8 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
И даже больше. Контрол может вообще отсутствовать в массиве Controls другого контрола (в данном случае в массиве Controls формы), но присутствовать в его массиве Components. Обратное тоже верно. Контрол может присутствовать в массиве Components, но отсутствовать в массиве Controls.
А всё дело в том, что список Components ведет владелец(Owner) компонента, а список Controls ведет родитель(Parent) контрола. DS. Налицо отсутствие базовых знаний по Дельфи. Рекомендовано: Купить и прочитать учебник. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
помня это. попытайся ответить на вопрос почему
-------------------- Обижено школьников: 8 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
А чё тут пытаться? При создании контролов исключительно в рантайме и задании им владельцев явно никаких проблем. Или при создании в дезайнтайме контролов, лежащих только на самой форме. В обоих случаях контрол будет в обоих списках. Ну а для полной идентичности нужно ещё и отсутствие невизуальных компонент. Это сообщение отредактировал(а) northener - 8.10.2011, 23:44 -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
это тебе "чё пытаться", а я обращался к топикстартеру. Ну и полная идентичность не нужна чтоб работало. По большому счету это рандом
-------------------- Обижено школьников: 8 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Извини, не понял, что не ко мне обращение. Добавлено @ 01:23 Это ну никак не рандом! Всё заранее просчитано и известно! Имея на руках *.pas и *.dfm можно однозначно сказать кто кому владелец и кто кому родитель! Это сообщение отредактировал(а) northener - 9.10.2011, 01:28 -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
код можно применять к разным формам. Там же выше речь и идет о случае где почему-то работало. Был другой RandSeed
-------------------- Обижено школьников: 8 |
|||
|
||||
| harakiri |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 17.1.2011 Репутация: нет Всего: нет |
northener, Вы абсолютно правы, багаж знаний на самом деле очень мал. Книга тоже где-то была... Вся загвоздка в том, что просто паталогически не хватает времени на ее прочтение. Весь день во власти работы, весь вечер во власти жены)) В ту единственную свободную минуту которая бывает крайне редко стараюсь на практике освоить программирование, т.к. мне намного быстрее доходит через практический опыт. По сему я стараюсь черпать знания на форумах, где опытные люди отвечают четко по вопросу без лишней "воды" которой так много в современных книгах по программированию. Тем не менее к Вашему совету обязательно прислушаюсь. Всем большое спасибо за помощь, особенно bems - четко и понятно объяснил. Сегодня вечером обязательно попробую.
Это сообщение отредактировал(а) harakiri - 10.10.2011, 11:50 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |