|
|
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
Добрый день! Вот с чем столкнулся, понадобился динамический массив, раньше размер задавал с помощью SetLength но в Delphi XE10 столкнулся с тем, что этой функции нет... нашел вот эту статью http://www.proghouse.ru/programming/31-delphi-xe7-array но то что вижу там в примере, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ну блин, так это же не динамический, это по сути тот же статический массив, только вид сбоку! Как жить без SetLength, когда количество элементов заранее не известно??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2017, 10:15:38 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
Term, это шутка что ли такая? SetLength есть во всех версиях делфи, включая Tokyo. Находится в System, с динамическими массивами работает как и полагается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2017, 10:44:59 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
Term> SetLength но в Delphi XE10 столкнулся с тем, что этой функции нет... System.SetLength ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2017, 11:00:35 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамTerm> SetLength но в Delphi XE10 столкнулся с тем, что этой функции нет... System.SetLength ? да вот так сработало, странно глюк видать какойто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2017, 11:32:10 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
Что значит "глюк"? Ошибка выдавалась какая-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2017, 11:38:24 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, сказала что не известный идетификатор, хотя в юзезах модуль был ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2017, 11:42:39 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
TermКак жить без SetLengthМежду прочим, неплохое названия для топика было бы. Люди могли бы поделиться опытом) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2017, 12:17:37 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
Termсказала что не известный идетификатор, Ты, скорее всего, опечетался при наборе кода в редакторе Termхотя в юзезах модуль был System? Ты так и пишешь, uses System ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2017, 15:12:30 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
TermКак жить без SetLength Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2017, 18:09:09 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
TermКак жить без SetLength, когда количество элементов заранее не известно??? Использовать список TList, TObjectList или их подвиды<Generics> в новых версиях Delphi. Ни разу не сталкивался с реальной необходимостью использовать динамические массивы. Если только ты не пишешь какую нибудь игру и обработку видео. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 10:05:44 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
Valery_BНи разу не сталкивался с реальной необходимостью использовать динамические массивы. Открой исходники RTL/VCL, столкнись, наконец. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 10:44:41 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
Valery_BНи разу не сталкивался с реальной необходимостью использовать динамические массивы.Если размер известен заранее, то массив, если нет - TList ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 16:16:34 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
ну, это смотря что хранить Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 16:19:10 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Valery_BНи разу не сталкивался с реальной необходимостью использовать динамические массивы. Если размер известен заранее, то массив, если нет - TList Я бы не стал хранить типы с управляемым временем жизни в TList, а вот в динамическом массиве - стал бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 16:23:07 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, TList = DynArray ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 16:24:05 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
schiЯ бы не стал хранить типы с управляемым временем жизни в TListИмелось в виду TList<> Bred eFeM, TList = DynArray )+ Grow ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 16:27:18 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Если размер известен заранее, то массив, если нет - TList Динамический массив потому и динамический, что не нужно знать размер заранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 16:38:35 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_schiЯ бы не стал хранить типы с управляемым временем жизни в TListИмелось в виду TList<> Bred eFeM, TList = DynArray )+ Grow Мне часто приходится иметь с дело с версиями Delphi, где нет <> Sad but true. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 16:39:21 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyДинамический массив потому и динамический, что не нужно знать размер заранее.Нифига. Потому, что размер неизвестен на этапе компиляции Никто не мешает писать Код: pascal 1. но что из этого получится - сам знаешь schiМне часто приходится иметь с дело с версиями Delphi, где нет <>Боль. Я на 2006 написал свой TList, который на Add делал GetMem, а на Delete - Finalize + FreeMem. Но там под каждый управляемый тип нужно было писать своего наследника и переопределять два метода FinalizeItem и CopyItem. Ну и Get если хотелось строгой типизации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 17:05:08 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Я посмотрю, как вы набор байтов будете в TList хранить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 17:11:11 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
alekcvpЯ посмотрю, как вы набор байтов будете в TList хранить...Для набора байт неизвестной длины придуман TMemoryStream ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 17:22:35 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_alekcvpЯ посмотрю, как вы набор байтов будете в TList хранить...Для набора байт неизвестной длины придуман TMemoryStream Для набора байт неизвестной длины придуман TBytes. Удобно, знаете ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 17:30:25 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
schi_Vasilisk_пропущено... Для набора байт неизвестной длины придуман TMemoryStream Для набора байт неизвестной длины придуман TBytes. Удобно, знаете ли. Т.е. array of Byte. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 17:32:56 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Нифига. Потому, что размер неизвестен на этапе компиляцииА я о чём написал? _Vasilisk_но что из этого получится - сам знаешьНичего страшного. _Vasilisk_Для набора байт неизвестной длины придуман TMemoryStreamДурь какая... А если мне не нужен интерфейс стрима, зачем огород-то городить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 17:36:24 |
|
||
|
Динамические массивы в Delphi XE7 - XE10
|
|||
|---|---|---|---|
|
#18+
schiTBytes. Удобно, знаете ли.На любителя. Нет, конечно, если Вас не смущает постоянные реаллоки + бешеное фрагментирование памяти, то используйте, на здоровье. А если Вы скажете, что будете реаллоцировать память постранично, так Вы и получите вот это Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. К слову, чуть ниже там же есть Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 17:38:50 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39506471&tid=2041929]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
202ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 557ms |

| 0 / 0 |
