|
|
|
Наполняемость переменной при декларации
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey 1. Переменные класса - это глобальные переменные. Они инициализируются всегда. 2. Но ты то о полях объекта , а они тоже инициализируются всегда. Однако объект сам себя не создаст. И объекту не нужно в будущем "adoSave<>Nil" проверять на создание. Так как автор не контролирует - то, что у него в программе. И следовательно лепит костыли. Kazantsev Alexey Parser error. Код: pascal 1. 2. 3. 4. 5. Да хоть тот же Код: pascal 1. Является ручной инициализацией динамических данных, вложенных в класс (Например конструктор) который в будущем следует удалить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2020, 23:59 |
|
||
|
Наполняемость переменной при декларации
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Delphi: МИН НЕТ! Не знаю, соберётся-ли на Delphi 7, но проверь: Код: 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. rgreat Kazantsev Alexey, Только "System." пришлось убить. Код: plaintext 1. 2. 3. Kazantsev Alexey rgreat Только "System." пришлось убить. Логично :) Результат говорит о том, что переменные декларированные в теле основного модуля являются глобальными. А вот почему семёрка их не обнуляет... во вы парни угораете на карантин очень интересно зачем вам понадобилось вывести адреса переменных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2020, 00:03 |
|
||
|
Наполняемость переменной при декларации
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Однако объект сам себя не создаст. Однако, речь о дефолтной инициализации переменных. kealon(Ruslan) зачем вам понадобилось вывести адреса переменных Ну дык... Наглядная демонстрация, что стековые переменные находятся далеко от сегмента данных, и интересующая нас переменная лежит именно в сегменте данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2020, 00:10 |
|
||
|
Наполняемость переменной при декларации
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Однако, речь о дефолтной инициализации переменных. О какой инициализации идёт речь? Это обычный GetMem + FillChar с определённым StorageSize, а в куче процедур у нас стэк обычный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2020, 00:49 |
|
||
|
Наполняемость переменной при декларации
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный О какой инициализации идёт речь? О дефолтной. В этом топике. Няшик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2020, 00:52 |
|
||
|
Наполняемость переменной при декларации
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Мне кажется вы опять тут занимаетесь ерундой, чистой воды. По этому я вам сейчас подкину интересную магию Код: 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. 38307908 Call2 1703720 : 45 Call3 1703720 : 45 38307908 Задаём в функции Call2 переменную Test5454 со значением 45 и вызываем Call3 и выводим значение переменной Test0 Ну а дальше получаем по губе мусором ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2020, 00:56 |
|
||
|
Наполняемость переменной при декларации
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный По этому я вам сейчас подкину интересную магию Это не магия, это основы, о которых тут уже писали . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2020, 01:14 |
|
||
|
Наполняемость переменной при декларации
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Усложним пример Код: 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. Global 4356316 : 0 Test = 37980228 Self = 1703704 Test0(Call1) = 1703696 : 40 Test1(Call2) = 1703700 : 1 Test2(Call3) = 1703700 : 1 Test = 37980228 Self = 1703704 Test1(Call2) = 1703628 : 568830241 Test2(Call3) = 1703584 : 37922016 Test0(Call1) = 1703696 : 48 Test2(Call3) = 1703700 : 16777216 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2020, 01:22 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39943774&tid=2038432]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 413ms |

| 0 / 0 |
