Показать сообщение отдельно
  #7  
Старый 10.04.2014, 13:41
kasimka kasimka вне форума
Прохожий
 
Регистрация: 08.04.2014
Адрес: Брест
Сообщения: 7
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Теперь понял, спасибо! Но есть один недостаток: корневые узлы создаются вне зависимости от того есть ли в них необходимость, т.е. не должно быть пустых корневых узлов, в которых не будет дочерних узлов.

Access Violation вылазил при таком быдлокоде: при более трех вложенных(не вложенных тоже) условиях на проверку первого символа ошибка и случалась. По одному работали все. Поэтому я и сделал вывод, что компилятору не понравилось именно количество условий и их ветвлений внутри цикла for:
Код:
цикл for от 1 до кол-ва строк таблицы-1
начало цикла
если первый символ 5
  если нода из массива[5] невидима
    добавить корневую и присвоить массиву[5]
  иначе
    добавить дочернюю
иначе
  если первый символ 6
    если нода из массива[6] невидима
      добавить корневую и присвоить массиву[6]
    иначе
      добавить дочернюю
  иначе
...
       иначе
         если невидима нода из массива[12]
            добавить корневую и присвоить массиву[12]
         иначе
            добавить дочернюю
конец цикла
Ответить с цитированием