|
|
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдо, спасибо я и так сильно упростил по сравнению с оригиналом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 14:19 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
AriochKazantsev Alexeyпропущено... Ты у себя-то попробуй несохранённый проект запустить, предварительно очистив дефолтный локейшн. а я не могу несохранённый, Delphi его требует сохранить. если не сохранять - не запускает это же не Turbo Pascal 5.x где можно было Compile To Memory Autosave - выключи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 14:51 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Ariochа я не могу несохранённый, Delphi его требует сохранить. Ariochэто же не Turbo Pascal 5.x где можно было Compile To Memory Так это другое. Экзешник она создаёт разумеется, однако проект не создаётся если не сохранить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 14:57 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
zinpubAutosave - выключи... Оно и без включенного AutoSave работать должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 14:59 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#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. Тестировал на Embarcadero® Delphi 10.2 Version 25.0.26309.314, 32 и 64 компиляторы. Invalid pointer operation присутствует в обоих. если присвоение VolatileFN делать после ReadAllText, то бага нет: Код: pascal 1. 2. 3. 4. 5. есть ожидаемый The specified file was not found. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 15:08 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Вот вам буг, который работает на новом проекте (Сохранять надо в dpr, если просит сохранить при создание проекта) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 15:12 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
nicholaos, У тебя нет бага, у тебя ошибка об отсутствие директории будет. Файла то нет в такой директории ) А тут баг, который работает вне зависимости, есть ли файл или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 15:19 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Хотя нет, баг есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 15:21 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдо, Ты получаешь ошибку на первом вызове (Test). Поменяй на валидный путь и получишь баг на вызове Test2. Это самый минимальный пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 15:21 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Сырой компилятор, 23 годика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 15:46 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Arioch, неправильно ссылки считает, сволочь...а 'const' ему кто сказал? у тебя Код: plaintext Код: plaintext или убери const или turn the const-string into a volatile var ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 17:07 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
а компот, с хрена ли??? const - означает, что процедура не изменяет этот параметр. А она изменяет разве??? Так что программа правильная. А вот почему по правильной программе компилятор создает неправильный код - вопрос не ко мне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 17:24 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
nicholaos Код: pascal 1. c:\autoexec.bat ? Он почти везде есть. хотя была у меня XP самовольно перебравшаяся на диск i:.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 17:25 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
nicholaos Ты получаешь ошибку на первом вызове (Test). Поменяй на валидный путь и получишь баг на вызове Test2. Это самый минимальный пример. Пробую на XE2 Путь валидный. Получаю ошибку в Test2 Нормальную ошибку EFileNotFound Строка не разрушается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 17:43 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Ariochc:\autoexec.bat ? Он почти везде есть. Издеваетесь? Его со времён XP нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 18:39 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
alekcvpAriochc:\autoexec.bat ? Он почти везде есть. Издеваетесь? Его со времён XP нет. Все есть. Но не у всех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 18:41 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
чччД__alekcvpИздеваетесь? Его со времён XP нет. Все есть. Но не у всех. Ну у тех, кто винды как матрёшки друг-на-друга ставит, у тех есть. Если 7ку и выше с 0 поставить - не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 18:56 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
alekcvpчччД__пропущено... Все есть. Но не у всех. Ну у тех, кто винды как матрёшки друг-на-друга ставит, у тех есть. Если 7ку и выше с 0 поставить - не будет. Ты просто не умеешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 19:03 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Две до плеска простых функции, которые вызывают баг Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 19:45 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
А можно ещё короче записать. Что тоже будет багом Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 19:47 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Глобальные переменные - в локальных переменных зло!!! Вывод, не использовать const ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 19:47 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#18+
Да что тут думать? Мы передаём в функцию Один указатель. Потом мы на этот указатель новый указатель ставим. Старый указатель - переданный ранее уже не валидный. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 21:55 |
|
||
|
XE2 string double-free
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2018, 22:47 |
|
||
|
|

start [/forum/topic.php?fid=58&startmsg=39686902&tid=2040522]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
203ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 565ms |

| 0 / 0 |
