|
|
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
Есть динамический массив записей Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Во время работы добавляю в него элементы: Код: pascal 1. 2. 3. 4. При выходе, освобождаю выделенную под нее память память : Код: pascal 1. Так вот, иногда на этом SetLength вываливается ошибка "Invalid pointer operation" В чем проблема? Записи нужно как-то специально зачищать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 16:13 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
SQL-TalkerПри выходе, освобождаю выделенную под нее память память : Код: pascal 1. Это не обязательно. Он сам убьется как только выйдет из зоны видимости SQL-TalkerТак вот, иногда на этом SetLength вываливается ошибка "Invalid pointer operation" В чем проблема?Где-то портится память. Подключайте FastMM в FullDebugMode и смотрите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 16:37 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Подключил. Получил сообщение об утечке Проблемы в этой процедуре: Код: 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. Проблемы связаны с вызовом CertRDNValueToStr в строке 1325 - если этот вызов закомментировать, то утечки не будет... Но что тут не так?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 17:20 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
Скрин сообщения об утечке: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 17:21 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
"Invalid pointer operation" - это ошибка, которую генерирует дельфёвый менеджер памяти, если ему подсовывают левый (неизвестный ему) указатель (или nil). TSubject.Add случайно не вызывается одновременно из параллельных потоков? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 17:21 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
DmSer, Нет, тут все в одном потоке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 17:23 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. замени на Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 17:32 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, В FullDebugMode он ещё и лог-файл создаёт, а если включить map-файл, то он даже строчки кода туда засунет где что происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 17:43 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
cptngrb, ничего не изменилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 17:46 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
SQL-TalkerСкрин сообщения об утечке: Это не утечка. Это Memory Corrupted - повреждение памяти. О чем я и говорил SQL-TalkerНо что тут не так??То, что вы используете случайный размер памяти SQL-Talker Код: pascal 1. https://docs.microsoft.com/en-us/windows/desktop/api/wincrypt/nf-wincrypt-certrdnvaluetostra psz A pointer to a buffer to receive the returned string. csz Size, in characters, allocated for the returned string. The size must include the terminating NULL character. Return Value Returns the number of characters converted, including the terminating NULL character. If psz is NULL or csz is zero, returns the required size of the destination string. Remarks If psz is not NULL and csz is not zero, the returned psz is always a possibly empty null-terminated string. SQL-Talker Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:05 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, авторIf psz is NULL or csz is zero, returns the required size of the destination string. psz я и выставляю в nil прямо сейчас выставил RDNValueSize := 0; перед вызовом - после вызова RDNValueSize = 0 !!! черт возьми! что не так с вызовом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:26 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
SQL-Talkerчто не так с вызовом? Return Value Returns the number of characters converted, including the terminating NULL character. If psz is NULL or csz is zero, returns the required size of the destination string. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:30 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:30 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Блин, смотрю в книгу - вижу фигу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:32 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, Под XE8 у меня проблемы с чтением данных в PWIdeChar при помощи CertRDNValueToStr В конце концов возникает ошибка работы с памятью. Вот так работает: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2020, 17:12 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
imkot, замени на TObjectList ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2020, 17:22 |
|
||
|
Освобождение памяти - Динамический массив из записей
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, да я баран, надо же так делать Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2020, 18:02 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39824198&tid=2037764]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
225ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 559ms |

| 0 / 0 |
