Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TreeView и AddChildObject / 10 сообщений из 10, страница 1 из 1
03.04.2021, 18:50
    #40059393
bzums
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и AddChildObject
В каждый Node своего TreeView добавил посредством AddChildObject в том числе и длинную строку в Data (pointer на стринг переменную).

Как мне оттуда прочитать теперь при перетаскивании нода в Мемо?
Нод (b lfyyst) доступys как TreeView.Selected.data

Что там находится строка, мне известно. Но как вытащить?
...
Рейтинг: 0 / 0
03.04.2021, 19:00
    #40059403
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и AddChildObject
bzumsКак мне оттуда прочитать теперь при перетаскивании нода в Мемо?

Уже никак. Указатель, который ты туда запихал, давно стал мусором.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.04.2021, 19:24
    #40059412
bzums
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и AddChildObject
Я неправильно выразился.
В поле дата - строковое значение.
Просто метод AddChildObject последним параметром просит пойнтер на объект.

Как теперь достать оттуда то, что находится в Data (для каждого узла)?

Спасибо.
...
Рейтинг: 0 / 0
03.04.2021, 19:27
    #40059413
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и AddChildObject
Повторяю медленно: уже никак, поскольку внесённый указатель давно указывает на уже
освобождённою область памяти. Попытка что-либо оттуда достать в лучшем случае принесёт
случайный мусор, в худшем - вызовет краш приложения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.04.2021, 19:38
    #40059415
bzums
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и AddChildObject
А для каких целей данный метод тогда нужен?

И куда я могу записать какое то втрое значение текстовое для дерева? То есть отличное от названия узла.
Спасибо.
...
Рейтинг: 0 / 0
03.04.2021, 20:20
    #40059427
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и AddChildObject
bzumsА для каких целей данный метод тогда нужен?

Для хранения указателя на структуру, которая не исчезнет за всё время его использования.
Почитайте уже основы работы с динамической памятью и указателями.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.04.2021, 20:29
    #40059430
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и AddChildObject
...
Рейтинг: 0 / 0
03.04.2021, 20:54
    #40059440
bzums
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и AddChildObject
Спасибо вам, добрые люди.
У меня реально чуть кровь из носа не пошла от напряга.



авторДля хранения указателя на структуру, которая не исчезнет за всё время его использования

А что если я всё-таки завел глобальный пойнтер, глобальную строковую переменную. Т.е. они живы, пока программа жива.
И как мне это оттуда достать?
Я понимаю, что это делать не стоит ( спасибо огромное за пример , как это надо делать ).
Чисто теоретический вопрос.

Теорию прочитал.
Вроде понятно.

Ещё раз большое спасибо.
...
Рейтинг: 0 / 0
04.04.2021, 00:11
    #40059467
Cobalt747
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и AddChildObject
bzums
А что если я всё-таки завел глобальный пойнтер, глобальную строковую переменную. Т.е. они живы, пока программа жива.
И как мне это оттуда достать?

Как засунул - так и достаёшь.

По мне - безопаснее сделать список элементов (или словарик), где хранить нужные данные

А при добавлении узла в указатель пихать какой-нить nativeInt в качестве индекса из этого списка
вот так:
Код: pascal
1.
AddChildObject(ParentNode, NodeCaption, TObject(DataIndex));
...
Рейтинг: 0 / 0
04.04.2021, 00:16
    #40059469
bzums
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TreeView и AddChildObject
Спасибо всем большое ещё раз.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TreeView и AddChildObject / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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