DestroyComponents;
FFileStream.Free;
inherited Destroy;
Destroy себя - ошибка!
Проблема заключается в следующем, пишу для себя компонент, Родителем является TsScrollBox, а дочерними TsPanel (со свойствами alTop).
Дочерние элементы создаю динамически, и присваиваются через "добавленную" к родителю функцию Add.
Ошибка заключается в следующем, в каждой строке имеется кнопка "Х" закрыть (удалить строку), При нажатии на нее вызывается встроенное событие doCloseClick, в котором выполняется Free;и переход в destructor:
Код:
после этого осуществляется возврат к концу doCloseClick и "[COLOR="Red"]ОШИБКА[/COLOR]" доступа к памяти по адресу 0х00000030.
Заметил что если удалить создание дочерних элементов, т.е. оставить только одну кнопку закрыть, то ошибки нету.
Кстати, зачем inherited Destroy, а не просто Destroy? Вообще говоря, разрушать компонент, в его обработчике не очень хорошая идея, могут быть ошибки - проверь.
добавил вложение в котором урезаный пример данной проблемы, в примере использованы альфаскины
И всё же, нафиг ты вручную вызываешь DestroyComponents? Открой Classes.pas, строку 9757 - он уже вызывается из TComponent.Destroy. Так что в TTestItem.Destroy этого нет смысла делать.
Спасибо, проблема была именно в этом и вместо SendMessage - PostMessage.