![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 49
|
![]()
Изучаю компонент TreeView.
Требования к программе: В TreeView из файла загружается список категорий и сайтов, по клику в memo выводится индекс выбранного элемента + имя сайта + ссылка. Для категории ссылка = '*'. Может создавать/удалять категории и пункты. Сохраняет обратно в файл. Ссылки хранятся в динамическом массиве, из которого выбираются по индексу выделенного узла TreeView. Проблемы: 1) Периодически access violation при добавлении группы или пункта. 2) То же самое (всегда) при выходе из программы, хотя настройки сохраняет. 3) Правильно ли описана процедура удаления записей из TreeView+массива и расстановка ссылок с новыми индексами? 4) Периодически в файл сохраняет "лишние" записи Чую снова с pointer'ами где-то не угадал, но пока не пойму где и что. Добавляю группу: Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Да будет вам известно о TList, TObjectList и TVirtualStringTree =)
Далее, на сколько помню, при добавлении нити, 2м параметром идет указатель, а вы туда строку пихаете. А если юзер ещё и и ничего не введет, то ваще караул ![]() Наверняка в этом ваша проблема. И да, вроде бы в TreeView тоже надо указывать сколько NodeData занимает, чтобы правильно дерево в памяти строить, потому 2м параметром 500% должен быть или record или Object, но не динамический массив знаков. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 49
|
![]()
Досадно. Про "надо указывать сколько NodeData занимает" - буду знать, спасибо. Посоветуйте, пожалуйста, компонент для визуального представления катерогий и ссылок (ака "закладки" в браузере) что бы можно было быстро производить навигацию по ним.
*До этого с TreeView не сталкивался, про pointer - читал. Так что теперь имею массу полезного опыта ![]() **Если заменить динамический массив на stringgrid, то получим желаемый Object? Последний раз редактировалось noname_06; 02.04.2013 в 23:27. |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
Да будет вам известно о TList, TObjectList и TVirtualStringTree =) |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Access violation | dimavit | Общие вопросы Delphi | 3 | 29.07.2012 19:16 |
access violation | ho_N | Компьютерное железо | 2 | 30.11.2011 08:36 |
Access Violation | SunKnight | Общие вопросы Delphi | 2 | 05.06.2008 16:46 |
Access Violation | Carbon | Общие вопросы Delphi | 12 | 18.09.2007 19:55 |