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

start [/forum/topic.php?fid=58&msg=39937979&tid=2038476]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 373ms |

| 0 / 0 |
