Чтение адреса 0000026C
Этот очень низкий адрес указывает на смещение к полю элемента nil
ссылки на объект. Запустите под отладчиком и убедитесь, что отладчик настроен на исключение. Когда это произойдет, вы сможете определить, какая ссылка на объект nil
.
Вполне возможно, что AV происходит в коде VCL, хотя почти наверняка это произойдет из-за ошибки в вашем коде. Если отладчик не выходит из строя в очень полезном месте, включите отладочные DCU в параметрах проекта, чтобы увидеть исходный код VCL в точке возникновения исключения.
Предоставленная вами трассировка стека предполагает, что ошибка находится в TApplication.SetHint
при выполнении сравнения строк. Первая строка TApplication.SetHint
гласит:
if FHint <> Value then
Бьюсь об заклад, смещение FHint
из TApplication
равно $026C
, и что ваша переменная Application
каким-то образом установлена на nil
. Тем не менее, я не понимаю, почему ошибка не была бы поднята ранее на Length(Application.Hint)
. Отладить это довольно сложно!
Посмотрев на макет TApplication
, я думаю, мы можем исключить Application
, являющееся nil
. Возможно, FHint
как-то поврежден, а может быть, даже Value
. Я думаю, что для отслеживания этого потребуется доступ к реальному коду и среде отладки.