powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / access violation at address
17 сообщений из 17, страница 1 из 1
access violation at address
    #39871574
petrovichvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, возникает ошибка "access violation at address" при любом обращение к компоненту treeview (он пустой, если там есть значения ошибки не возникает)
Код: pascal
1.
2.
3.
4.
if (tvControls.Selected.Count <> 0) then
begin
  ...
end;


ошибка упадет сразу на If
tvControls это treeview
Подскажите как сделать, чтобы ошибка не возникала?
...
Рейтинг: 0 / 0
access violation at address
    #39871582
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
04.10.2019 12:03, petrovichvanya пишет:
> Здравствуйте, возникает ошибка "access violation at address" при любом
> обращение к компоненту treeview (он пустой, если там есть значения
> ошибки не возникает)

ну так и проверяй, что он НЕ ПУСТОЙ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
access violation at address
    #39871585
petrovichvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

так я проверяю
Код: pascal
1.
if (tvControls.Selected.Count <> 0) then 

или
Код: pascal
1.
if (tvControls.Selected.Text <> '') then


сразу же ошибку получу "access violation at address "
...
Рейтинг: 0 / 0
access violation at address
    #39871589
Linux_64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
petrovichvanya,
Лучше проверять так:
Код: pascal
1.
If TreeView1.Selected.SelectedIndex = 0 then ...
...
Рейтинг: 0 / 0
access violation at address
    #39871592
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не ЭТО
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
access violation at address
    #39871594
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrovichvanya
Код: pascal
1.
tvControls.Selected


У меня подозрение, что у пустого дерева нет выбранного элемента...
...
Рейтинг: 0 / 0
access violation at address
    #39871595
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ели нет Items то Selected = nil отсюда и AV

Код: pascal
1.
if (TreeView1.Items.Count > 0) and (TreeView1.Selected.Count > 0) then
...
Рейтинг: 0 / 0
access violation at address
    #39871598
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
04.10.2019 12:29, wadman пишет:
> tvControls.Selected
> У меня подозрение, что у пустого дерева нет выбранного элемента...

там список.
в нормальном компоненте он должен был бы быть создан в конструкторе.
но видимо у treeview это не так.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
access violation at address
    #39871599
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrovichvanyaПодскажите как сделать, чтобы ошибка не возникала?

Перед использованием Selected всегда проверять, что он не nil. Неужели так сложно было в
отладчике посмотреть все значения?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
access violation at address
    #39871600
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pit_alex
Код: pascal
1.
if (TreeView1.Items.Count > 0) and (TreeView1.Selected.Count > 0) then


Еще один пример AV. Элементы дерева быть могут, но выбранного может и не быть.
...
Рейтинг: 0 / 0
access violation at address
    #39871603
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийтам список.
Элемент. Список что-то вроде SelectedItems или Selections.
...
Рейтинг: 0 / 0
access violation at address
    #39871606
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanЕще один пример AV. Элементы дерева быть могут, но выбранного может и не быть.

не будет AV
...
Рейтинг: 0 / 0
access violation at address
    #39871607
petrovichvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое, с такой проверкой работает без ошибок
Код: pascal
1.
TreeView1.Items.Count > 0
...
Рейтинг: 0 / 0
access violation at address
    #39871665
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pit_alexwadmanЕще один пример AV. Элементы дерева быть могут, но выбранного может и не быть.

не будет AV
Магия?
...
Рейтинг: 0 / 0
access violation at address
    #39871668
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверить ТСу надо
Код: pascal
1.
 if not TreeView1.Selected = nil then 
...
Рейтинг: 0 / 0
access violation at address
    #39871682
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanpit_alexпропущено...


не будет AV
Магия?Проверять лень, но возможно, что при добавлении первого итема инициализируется (создается) список Selected
...
Рейтинг: 0 / 0
access violation at address
    #39871712
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockвозможно, что при добавлении первого итема инициализируется (создается) список Selected

Selected это свойство типа TTreeItem, а не список. Будет AV в этом случае или нет зависит
от погоды на Марсе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / access violation at address
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]