
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.03.2020, 08:47
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
Есть запись Код: pascal 1. 2. 3. 4. Делаю массив записей Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Почему так происходит и если это нормально, то как тогда освобождать память? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.03.2020, 08:58
|
|||
|---|---|---|---|
|
|||
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
TArray - это не класс. Освобождать не нужно. Полностью аналогично строке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.03.2020, 09:03
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
Sinemurius TArray - это не класс. Освобождать не нужно. Полностью аналогично строке т.е. Код: pascal 1. будет достаточно? и при этом все rv: rVariables;, которые вошли в массив также будут уничтожены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.03.2020, 10:50
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
antox, Если массив содержит записи, которые содержат управляемые типы, то можно вообще ничего не делать... Как только переменная выйдет за область видимости, память освободится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.03.2020, 10:52
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
Код: pascal 1. Законно, это не конструктор, это синтаксический сахар... Код: pascal 1. аналогично Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.03.2020, 11:25
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
Классно! Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 10:34
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
X-Cite Законно, это не конструктор, это синтаксический сахар... Только запутывает, имхо. Зря они его под конструктор сделали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 13:36
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
Василий 2, Не нравиться, не пользуйся. Можешь сделать так: varr := [rv, rv, rv, rv]; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 15:51
|
|||
|---|---|---|---|
|
|||
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
Василий 2 Только запутывает, имхо. Зря они его под конструктор сделали. Код: pascal 1. 2. 3. 4. И тогда если в коде вижу Код: pascal 1. сразу понимаю, что никакого Free не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 15:52
|
|||
|---|---|---|---|
|
|||
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
rgreat Не нравиться, не пользуйся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 15:54
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
Реализация через конструктор полезна в режиме инлайн переменных. Достаточно одной строчки и для создания и для инициализации. Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 15:56
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
_Vasilisk_ Именно по этому не пользуюсь ни одним record-конструктором. Чтобы не путаться Скоро разницы между классом и рекордом в этом плане уже не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 16:13
|
|||
|---|---|---|---|
|
|||
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
rgreat Реализация через конструктор полезна в режиме инлайн переменных. Код: pascal 1. или Код: pascal 1. я считаю, что идет работа с классом. Функция _Vasilisk_ Код: pascal 1. rgreat Скоро разницы между классом и рекордом в этом плане уже не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 16:22
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
_Vasilisk_ Когда они придумают рекорд-деструктор вот тогда и не будет. Но тогда получится у них обычный object ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 16:36
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
_Vasilisk_ rgreat Не нравиться, не пользуйся. Если следовать стилистике, то когда видишь TArray<T>.Create - то это всегда массив... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 18:23
|
|||
|---|---|---|---|
|
|||
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
X-Cite Если следовать стилистике, то когда видишь TArray<T>.Create - то это всегда массив... Код: pascal 1. ? А если Код: pascal 1. ? Вот поэтому, чтобы каждый раз не вспоминать, что это за тип - простое правило: Create только для классов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 18:58
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
_Vasilisk_, Если у тебя есть проблемы с запоминанием что есть что в типах, добавляй префиксы/постфиксы. Типа TMyTypeArray. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 19:10
|
|||
|---|---|---|---|
|
|||
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
rgreat добавляй префиксы/постфиксы. Зачем что-то запоминать, если можно просто не делать опасных вещей? Знаешь историю про Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 19:33
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
_Vasilisk_ Зачем что-то запоминать, если можно просто не делать опасных вещей? У меня никогда не было проблем с тем что бы я путал класс, массив и рекорд. Если я точно не помню - смотрю определение типа. Знаешь историю про Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ?With - старая боль совсем другого типа. И имхо там оснавная проблема даже не в том что оно изначально может быть криво написано из-за, а в том что при переопределении атрибутов и свойств типа может незаметно поменяться работа ПО в произвольном месте кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2020, 19:45
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2020, 10:46
|
|||
|---|---|---|---|
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
rgreat У меня никогда не было проблем с тем что бы я путал класс, массив и рекорд. Если я точно не помню - смотрю определение типа. В данной дискуссии ты судишь исключительно по себе. А мой и Василиска поинт в том, что такая конструкция запутывает. Пускай не профи с 20-летним стажем, а неофитов. Но все же. Зачем делать ловушку на ровном месте? Тем более в языке с ручным управлением памятью, где нужно понимать, чем отличается объект от структуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2020, 11:02
|
|||
|---|---|---|---|
|
|||
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
Василий 2, Ты сейчас договоришься до того, что используемый инструмент нужно знать и уметь. Офигеть же требования, правда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2020, 11:08
|
|||
|---|---|---|---|
|
|||
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
В новой версии Delphi нас ждут Managed Records с конструкторами, конструкторами копирования и деструкторами (которые будут вызываться автоматически), так что будет ещё веселее: https://blog.marcocantu.com/blog/2018-november-custom-managed-records-delphi.html Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2020, 11:12
|
|||
|---|---|---|---|
|
|||
Удаление TArray вызывает ошибку, почему? |
|||
|
#18+
zedxxx, Это, кстати, обещали сделать ещё в Delphi 2009. С тех пор ждём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2038476]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 402ms |

| 0 / 0 |
