"Список индексов за пределами (-1)" - интересная ошибка. Если бы мне пришлось угадывать, я бы сказал, что где-то выполняется код, который выглядит следующим образом:
Index := List.IndexOf(Whatever);
List.Delete(index);
Если ваши элементы управления содержатся в BPL, есть способ отследить их в отладчике. Откройте BPL, где находится рамка, которую вы пытаетесь разместить. Постройте его в режиме отладки. Затем перейдите в меню Run
и выберите Parameters...
. В разделе Host Application
нажмите Обзор и найдите bds.exe (сама Delphi IDE), а затем нажмите F9
. Это запустит вторую копию среды IDE и загрузит отладочную информацию для вашего BPL.
Затем попытайтесь воспроизвести ошибку, и, когда произойдет ошибка списка, ваша первая копия Delphi будет обработана как любое другое исключение с возможностью разбить и войти в отладчик. Оттуда вы сможете достаточно легко отследить проблему.