|
|
#1
|
||||
|
||||
Снова ListView
Подскажите как правильнее избежать access violation at address при использовании ListView. Если кликнуть по заполненной строке, то проблем нет, а вот если по чистому полю, то естественно получаю ошибку. Понятно что идет обращение к отсутствующему объекту потому и ошибка. Как проще, а главное правильно, этот момент обойти? Заранее благодарю за помощь.
|
#2
|
|||
|
|||
Надо смотреть твой код, косяк явно у тебя в коде, бо как за всю историю использования ListView ни разу не встречался с подобным поведением. Все разы, когда была какая-то проблема, она была связана с ошибками в моем коде.
Например, при клике ты делаешь какие-либо проверки выделенного Item'а через обращение к Selected. Однако, при клике по пустому месту, выделение сбрасывается и св-во Selected страновится равно Nil. Если ты не проверяешь это, то тут же и получаешь Access Violation. При этом ошибка может выскакивать в совершенно другос обработчике, напримре, в обработчике обновления статуса TAction'ов. Это просто пример. Как я сказал, надо анализировать весь код на подобные ошибки... |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
fofka (03.08.2022)
|
#3
|
||||
|
||||
Сам виноват в ошибке.
Цитата:
В который раз наступаю на одни и те же грабли. Уперся в свои задачи, не выполнил проверку. Всего и нужно было вставить пару строчек Код:
If ListView1.Selected=nil then Exit; 1. Выполни обязательные условия. 2. Лепи свой код. 3. НЕ СПЕШИ. Большое спасибо lmikle. Указали на мою ошибку. |