|
|
|
Delphi 7 и FastMM
|
|||
|---|---|---|---|
|
#18+
Gallemar Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Еще надо убрать нафиг из параметров конструктора CreateSuspended, а делать 1 из 2: 1. Либо всегда передавать True в inherited Create и перед end делать Resume; 2. Либо (лучше и логичнее) убрать Resume, а на его место перенести inherited Create( False ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2017, 10:44:51 |
|
||
|
Delphi 7 и FastMM
|
|||
|---|---|---|---|
|
#18+
Поймал ловушкой ошибку приведения типов - не кастовалась строка к дате, данные мои, но почему-то copy не с того символа. Странно, просмотрел логи, не нашел криминала. Сейчас почистил все логи, сделал чтобы выводилась строка полностью в ошибке: on E : Exception do ShowMessage(E.ClassName+' ошибка с сообщением : '+E.Message + '-' + List1.Strings[t] ); Жду как невеста первого раза исключений, а их нет. И память вроде не утекает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2017, 11:11:06 |
|
||
|
Delphi 7 и FastMM
|
|||
|---|---|---|---|
|
#18+
YuRockЕще надо убрать нафиг из параметров конструктора CreateSuspended, а делать 1 из 2: 1. Либо всегда передавать True в inherited Create и перед end делать Resume; 2. Либо (лучше и логичнее) убрать Resume, а на его место перенести inherited Create( False );не надо так делать в конструкторе, запуск потока идёт после отработки конструктора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2017, 14:53:17 |
|
||
|
Delphi 7 и FastMM
|
|||
|---|---|---|---|
|
#18+
Gallemar, Стоит убрать FastMM4 и добавить нормальный логгер исключений + детектор утечек. Либо EurekaLog, либо MadExcept. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2017, 15:20:57 |
|
||
|
Delphi 7 и FastMM
|
|||
|---|---|---|---|
|
#18+
GallemarА как настроить, чтобы конкретно в коде показывал, в какой строке утечка?В опциях проекта указать генерировать map файлы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2017, 15:42:51 |
|
||
|
Delphi 7 и FastMM
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)YuRockЕще надо убрать нафиг из параметров конструктора CreateSuspended, а делать 1 из 2: 1. Либо всегда передавать True в inherited Create и перед end делать Resume; 2. Либо (лучше и логичнее) убрать Resume, а на его место перенести inherited Create( False );не надо так делать в конструкторе, запуск потока идёт после отработки конструктора Именно по этой причине я и дал этот совет. Зачем ТС'а путать? Он и сам запутается. Да, поток в любом случае создается Suspended и запуск происходит в AfterConstruction, но так нагляднее, как минимум. Дальше. Почему я порекомендовал больше Код: pascal 1. 2. 3. 4. 5. а не Код: pascal 1. 2. 3. 4. 5. 6. Потому, что это, грубо говоря, идиотизм. Нет смысла запускать остановленный поток, инициализировать его параметры, а затем продолжать, если есть элементарная возможность вначале всё инициализировать, а затем - запустить. Элементарно меньше кода. CreateSuspended нужен вообще для другого. Чтобы создать, а потом, если надо, через пол часа запустить. Ну, там, пул какой-нибудь, или еще что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2017, 15:48:57 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39553303&tid=2041581]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
170ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 459ms |

| 0 / 0 |
