Список индексов выходит за границы, добавляя фрейм delphi - PullRequest
3 голосов
/ 16 ноября 2010

Я пытался найти свою ошибку, прочитал некоторые темы, но не смог найти подсказки, почему это происходит.Если бы кто-нибудь мог помочь мне хотя бы получить какой-то намек на то, как я могу проверить, что происходит, так что я могу это исправить, это было бы очень признательно.bpl связаны вместе, чтобы сформировать исполняемый файл.
У меня есть форма и фрейм в одном проекте.Когда я пытаюсь добавить фрейм в форму, выдается ошибка «Индекс списка вне границ».Я могу добавить другие фреймы, которые находятся в этом проекте, в эту форму, но я не могу добавить этот фрейм в эту форму или другие формы проекта, но фрейм добавляется в проект.помощь

Томас

Ответы [ 2 ]

3 голосов
/ 16 ноября 2010

"Список индексов за пределами (-1)" - интересная ошибка. Если бы мне пришлось угадывать, я бы сказал, что где-то выполняется код, который выглядит следующим образом:

Index := List.IndexOf(Whatever);
List.Delete(index);

Если ваши элементы управления содержатся в BPL, есть способ отследить их в отладчике. Откройте BPL, где находится рамка, которую вы пытаетесь разместить. Постройте его в режиме отладки. Затем перейдите в меню Run и выберите Parameters.... В разделе Host Application нажмите Обзор и найдите bds.exe (сама Delphi IDE), а затем нажмите F9. Это запустит вторую копию среды IDE и загрузит отладочную информацию для вашего BPL.

Затем попытайтесь воспроизвести ошибку, и, когда произойдет ошибка списка, ваша первая копия Delphi будет обработана как любое другое исключение с возможностью разбить и войти в отладчик. Оттуда вы сможете достаточно легко отследить проблему.

1 голос
/ 17 ноября 2010

Мне удалось решить проблему, удалив и снова добавив фрейм в проект.

Спасибо за помощь, Кен и Марьян.

Спасибо, что научили меня отлаживать ошибки времени проектирования, Мейсон, я даже не знал, что это возможно. Всегда приятно узнавать что-то новое.

И спасибо за ваш быстрый ответ.

Thomas

...