|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
RAD XE3+ Передача записи как параметра25.02.2019, 16:27. Показов 1502. Ответов 10
Метки нет (Все метки)
Доброго дня!
Имею var List: TList<TMyRecord>, где, к примеру:
List.Add(бла-бло-блу);, но не создавая промежуточную переменную или промежуточную функцию, возвращающую тип TMyRecord.Это можно как-то сделать? p.s. Такой вариант не работает: List.Add((Blah: 'Hello World!'; Bloh: 1000; Bluh: True));Добавлено через 6 минут Т.е. я хочу передать запись, поэлементно указывая значение каждого поля (значения либо константные, либо из других переменных), а не в виде отдельной переменной типа TMyRecord.
0
|
||||||
| 25.02.2019, 16:27 | |
|
Ответы с готовыми решениями:
10
Передача параметра в ActiveX Передача параметра из БД в FastReport Передача параметра из БД в caption |
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||||
| 25.02.2019, 18:23 [ТС] | ||||||||
|
TList<T> хранит не указатели, а сами записи в виде динамического массива (как и обычный TList, TStringList, TObjectList, TObjectList<T> и пр). Разве что так сделать:
Добавлено через 43 минуты В эту же тему можно внести вопрос о том, как присвоить значения сразу всем полям записи (без создания конструктора... это может быть нужно, например, для локальных типов функции, где в записях нельзя создавать методы). Что-то вроде MyRec := ('Hello World', 1000, True);
0
|
||||||||
|
пофигист широкого профиля
4770 / 3205 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
|
|
| 26.02.2019, 02:57 | |
|
0
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||||||||||||||||||
| 26.02.2019, 09:22 [ТС] | ||||||||||||||||||||||
Rec никак не связан с элементом List. Недостаточно? Смотрим отладчиком в List.Add(Rec):
InternalGrow:
InternalSetCapacity:
Ещё вопросы?
0
|
||||||||||||||||||||||
|
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
|
||
| 26.02.2019, 09:48 | ||
|
По сути вопроса: нет, так, скорее всего, не получится. Оптимальный вариант с точки зрения цена-качество, имхо - дополнительная функция.
0
|
||
|
|
|
| 26.02.2019, 10:29 | |
|
все что связано с объектами - суть указатель. так что там точно только ссылки
вот TList<Record> интересный случай но записями пользуюсь крайне редко, т.к. у меня в программах все объекты - динамические соотв-но использование синтаксиса объектов гораздо проще и удобнее
0
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||
| 26.02.2019, 11:25 [ТС] | |||
|
Однако в Delphi обращении к объектам происходит через указатели, а TObjectList (как и другие контейнеры) хранит данные в виде дин. массива значений, которые передаются методу Add. А передаются туда указатели на объекты. С этой точки зрения утверждение верное ![]() Добавлено через 5 минут Если будет объект, я почти уверен, что скопируется только ссылка (как минимум из-за отсутствия того же Assign). Что касается строк, то они так и так не копируются при присваивании, только счётчик ссылок увеличивается. Зато при изменении создаётся копия. Так что программисту в большинстве случаев по барабану как там всё устроено внутри, ему исходная строка и новая (после присваивания) видятся как 2 копии ![]() Ну и т.д.
0
|
|||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||
| 26.02.2019, 15:13 [ТС] | ||
|
Просто при желании всегда можно организовать список как ссылок, так и записей или даже копий объектов.
0
|
||
| 26.02.2019, 15:13 | |
|
Помогаю со студенческими работами здесь
11
DataSet повторная передача параметра Передача параметра макроса Access из Delphi
Передача функции как параметра Передача функции как параметра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|