|
|
|
Invalid pointer при выходе из приложения (содержит потоки)
|
|||
|---|---|---|---|
|
#18+
Собственно subj. Причем, похоже ошибка возникает именно при выходе из потока. После долгих мытарств баг был словлен, ошибка возникает на выходе из процедуры: Код: pascal 1. 2. 3. 4. 5. 6. 7. После самого последнего end. Создается ощущение, что при выходе из потока он пытается вернуть указатель основному приложению, а там… уже пусто. Кто-нибудь с таким сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2018, 12:27 |
|
||
|
Invalid pointer при выходе из приложения (содержит потоки)
|
|||
|---|---|---|---|
|
#18+
Не используйте TerminateThread, перепишите код по другому. Если поток заморожен (надеюсь что он сам себя морозит, а не извне), то сначала нужно вывести его из этого состояния, затем дождаться штатного завершения его работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2018, 12:47 |
|
||
|
Invalid pointer при выходе из приложения (содержит потоки)
|
|||
|---|---|---|---|
|
#18+
BorodaOleg Код: pascal 1. Куда ведет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2018, 12:47 |
|
||
|
Invalid pointer при выходе из приложения (содержит потоки)
|
|||
|---|---|---|---|
|
#18+
BorodaOlegПосле долгих мытарств баг был словлен, ошибка возникает на выходе из процедуры: Во-первых, это не "словлен". Во-вторых, есть подозрение, что если уберёшь TerminateThread и не будешь пытаться делать то, что сложновато для твоего текущего уровня - результат будет лучше. А в-третьих, если ошибка возникает "после последнего end" - значит, ставишь на этот последний end брейкпоинт, нажимаешь Ctrl-Alt-C и внимательно, ничего не пропуская, идёшь по шагам и смотришь, где и когда на самом деле случается этот Invalid pointer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2018, 13:15 |
|
||
|
Invalid pointer при выходе из приложения (содержит потоки)
|
|||
|---|---|---|---|
|
#18+
ну в целом логично написать Убей мой хэндл а потом вызвать предка, который тоже собирался убить свой хэндл, а он уже убит ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2018, 15:45 |
|
||
|
Invalid pointer при выходе из приложения (содержит потоки)
|
|||
|---|---|---|---|
|
#18+
BorodaOleg, а зачем вы хотите поток убить? TerminateThread is a dangerous function that should only be used in the most extreme cases. You should call TerminateThread only if you know exactly what the target thread is doing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2018, 20:02 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39748875&tid=2039996]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 357ms |

| 0 / 0 |
