|
|
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
У TList<T> есть такое объявление Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. теперь я хочу этот FItems сохранить себе в переменную. Пишу Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Что можно придумать? TList<T>.ToArray не предлагать. Хочется избежать копирования данных С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 16:23 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
ну вот нахрена? взрослый же человек... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 16:25 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
UPD Вот так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. работает. Никакие грабли я так не подложил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 16:26 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийну вот нахрена?Чтобы не лепить самому саморасширяющийся массив. Код использования такой Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Т.е. насобирали значений, потом отдали и забыли. А массив потом самоуничтожился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 16:33 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
это всё от лукавого. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 16:38 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
Единственный адекватный вариант Код: pascal 1. Не нарушайте инкапсуляцию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 16:50 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
X-CiteНе нарушайте инкапсуляцию..Проперти TList.List публичное. Где нарушение инкапсуляции? Все заработало, только SetLength нужно вызывать до уничтожения списка. Иначе данные массива обнуляются Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 16:57 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_X-CiteНе нарушайте инкапсуляцию..Проперти TList.List публичное. Где нарушение инкапсуляции? Все заработало, только SetLength нужно вызывать до уничтожения списка. Иначе данные массива обнуляются Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. А это их косяк... Нельзя его делать публичным... Внутреннее устройство должно оставаться внутри... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 16:59 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 18:18 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_X-CiteНе нарушайте инкапсуляцию..Проперти TList.List публичное. Где нарушение инкапсуляции? Все заработало, только SetLength нужно вызывать до уничтожения списка. Иначе данные массива обнуляются Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. _Vasilisk_...Что можно придумать? TList<T>.ToArray не предлагать. Хочется избежать копирования данных С уважением, Vasiliskну-ну ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 20:33 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)ну-ну Можно достать костыль и увеличить счётчик ссылок на массив вручную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 20:39 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
alekcvp, там какой-то недописанный COW по идее он без SetLength должен работать правильно, но врят ли этот баг будут править ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 20:44 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)ну-нуТы сравни возможный Move с этим Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 20:48 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)alekcvp, там какой-то недописанный COW по идее он без SetLength должен работать правильно, но врят ли этот баг будут править Там приведение типов используется, поэтому и не работает, скорее всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 20:52 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_kealon(Ruslan)ну-нуТы сравни возможный Move с этим Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Это было давным-давно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 21:10 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 21:11 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev Код: pascal 1. 2. _Vasilisk_ Код: pascal 1. 2. 3. 4. Cannot access private symbol TList`1.arrayofT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 21:14 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
Dmitry ArefievЭто было давным-давно ...Да. XE3 В Rio так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 21:18 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Dmitry ArefievЭто было давным-давно ...Да. XE3 Что же не любимый Delphi 7 :) Там в 10.2/10.3 было переписано пол Generics.Collections. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 21:31 |
|
||
|
Получение внутреннего массива TList<T>
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal, благодарю, интересный код. дописал слегка: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. Пример использования. Было/стало: Код: pascal 1. 2. 3. Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2019, 15:00 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=58&tid=2038876]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 363ms |

| 0 / 0 |
