| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > VirtualTreeView + FocusChanged |
| Автор: Denchik 11.2.2008, 14:52 |
| Пишу простой редактор пользователей баз данных слева VirtualTreeView справа Panel с Editами перемещаюсь по дереву меняется текст в Editах , через FocusChanged EUserName.Text := SecurityService1.UserInfo[Node.Index].UserName; ... Теперь к примеру удаляю пользователя VT.DeleteNode(VT.FocusedNode); и на этом месте вываливается Access Violation в FocusChanged не подскажете как решить ??? PS Если дерево чистить и снова грузить то все работает нормально - VT.DeleteNode(VT.FocusedNode); VT.Clear; ShowUser; Но это не метод я думаю ... |
| Автор: VICTAR 11.2.2008, 15:39 | ||
простая проверка
|
| Автор: Denchik 11.2.2008, 16:41 |
| Спасибо заработало )) А не подскажете смысл этого оператора ( справка по Delphi 2007 никакая )) есть Assign но без всяких описаний ) + маленький косяк вылазит В дереве - 1 - 2 - 3 - 4 Удаляем к примеру 2 через vt.text[VT.FocusedNode,0] выдираем текст текущей записи как проверка MessageBox с текстом - действительно хотите 2 удалить ? подтверждаем VT.DeleteNode(VT.FocusedNode) дерево приобретает вид - 1 - 2 - 3 При последующем включении отображает дерево нормально - 1 - 3 - 4 |
| Автор: VICTAR 11.2.2008, 16:47 | ||
| Assigned = Pointer <> nil т.е. проверяет указатель на "достоверность" Добавлено через 7 минут и 10 секунд По поводу индексов не совсем понятно, что требуется. На всякий случай
Попробуй выставить Reindex = false. |
| Автор: Denchik 11.2.2008, 17:33 |
| Спасибо все отлично заработало Reindex = false все вылечило VICTAR Спасибо большое ... |