|
|
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
Что то туплю, как взять указатель на ссылку на объект в TStringList.Object[] так не катит @(TStringList.Objects[i]), ошибка variable required ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 07:09 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
Index ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 07:38 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
wolverin, "указатель на ссылку на объект" - в данном случае - никак, ибо TStringList.Objects[i] - свойство, возвращающее указатель на i-й объект списка. Указатель на сылку" в данном случае - зачем? Указатель на свойство должен вернуть - что? Ссылку на метод-геттер, ссылку на метод-сеттер - ? Если хочешь заменить один объект другим - просто присваиваешь Список.objects[i] := новое_значение, и всё. И - не TStringList, а конкретный экземпляр класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 07:40 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, типа "дерево" - указатель на ссылку нужен в другом TStringList, который строится на этом TStringList с его Objects, чтобы меняя в дочернем объекты - это отражалось на родителе без поиска по Index родителя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 07:45 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
*удалено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 07:46 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ свойство, возвращающее указатель на i-й объект списка как тогда взять указатель на этот указатель? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 07:50 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
получается мне надо в TStringList.Object[] сувать не ссылки на объекты, а сразу брать указатель на ссылку и тогда можно будет тупо присваивать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 07:52 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
хотя не, фигня, объекты же появляются в процессе произвольно, а не сразу ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 07:56 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
DimaBr, да точно, логично, вместо таскание в дочерний список объектов, можно просто передавать их Index родителя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 08:17 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
wolverin, Приличным способом никак. Но как говорится, если очень хочется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 08:33 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, да обойдусь уж передачей Index родителя, без указателей конструкция обращения стала огромной, но полагаю что "неприличный" способ еще более громоздкий ) уже очень не хочется наследовать TStringList и там кучу всего переписывать ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 08:50 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
wolverin ъъъъъ свойство, возвращающее указатель на i-й объект списка как тогда взять указатель на этот указатель? У вас бред, пациент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 08:53 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, в чем бред то, двойной указатель потеря потерь в дельфах? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 08:55 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
wolverin ъъъъъ, типа "дерево" - указатель на ссылку нужен в другом TStringList, который строится на этом TStringList с его Objects, чтобы меняя в дочернем объекты - это отражалось на родителе без поиска по Index родителя. И зачем тут ссылка на указатель? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. И о, и list1.objects[i] и list2.objects[j] указывают на один и тот же объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 09:00 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, объекты появляются в list1 в ходе работы, их там нет с общей инициализацией если нужна конкретика, то list1 это глобальный список, который используется для заполнения и удаления объектов в других потоках, а list2 расширенный локальный список, который используется в основном потоке, где Objects "ПОЧТИ" те же самые что и в list1 + еще и дублируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 09:08 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, поэтому и хотелось получить указатель на переменную, которая хранит указатель на объект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 09:11 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
wolverin ъъъъъ, поэтому и хотелось получить указатель на переменную, которая хранит указатель на объект Почему "поэтому"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 09:25 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ Почему "поэтому"? потому что при двойном указателе можно всегда ссылаться на один и тот же объект, а не присваивать его по нескольку раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 09:40 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, т.е. если б можно было инициализация list1.objects[i] := nil; list2.objects[j] := @list1.objects[i]; затем где то list1.objects[i] := o и еще где то Assigned(list2.objects[j]^) = true ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 09:43 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
wolverin, По-моему с такой задачей проще свой велосипед написать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 09:43 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
alekcvp, если выяснится, что это не потокобезопасно, то придется )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 09:52 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
wolverin ъъъъъ, т.е. если б можно было инициализация Код: pascal 1. 2. ... Что это должно означать? Ну, какое действие должно выполняться, в чем отличие Код: pascal 1. от Код: pascal 1. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 10:30 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ Что это должно означать? Ну, какое действие должно выполняться, в чем отличие Код: pascal 1. от Код: pascal 1. ? Он думает, что objects[] - это массив, тогда бы это имело смысл. Но это индексное свойство, вот в чём облом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 10:37 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
alekcvp, все равно непонятно, что бы ему дало копирование адреса массива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 10:49 |
|
||
|
Указать на TStringList.Object[] как?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ alekcvp, все равно непонятно, что бы ему дало копирование адреса массива. Ну я, например, иногда храню данные (записи) в одном массиве, а в другом - адреса ячеек в первом, отсортированные в нужном мне порядке - такой себе аналог индексов в БД. Суть в том, что физически у тебя хранится одна копия данных, а получить доступ к ней и изменить её ты можешь из разных мест. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2020, 10:51 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40027835&tid=2037780]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 472ms |

| 0 / 0 |
