powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Invalid pointer при выходе из приложения (содержит потоки)
6 сообщений из 6, страница 1 из 1
Invalid pointer при выходе из приложения (содержит потоки)
    #39748861
BorodaOleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно subj. Причем, похоже ошибка возникает именно при выходе из потока. После долгих мытарств баг был словлен, ошибка возникает на выходе из процедуры:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
destructor CThread.Destroy;
begin
  if Suspended then begin
    TerminateThread(Self.Handle, 0);
  end;
  inherited; 
end;



После самого последнего end. Создается ощущение, что при выходе из потока он пытается вернуть указатель основному приложению, а там… уже пусто.
Кто-нибудь с таким сталкивался?
...
Рейтинг: 0 / 0
Invalid pointer при выходе из приложения (содержит потоки)
    #39748874
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не используйте TerminateThread, перепишите код по другому. Если поток заморожен (надеюсь что он сам себя морозит, а не извне), то сначала нужно вывести его из этого состояния, затем дождаться штатного завершения его работы.
...
Рейтинг: 0 / 0
Invalid pointer при выходе из приложения (содержит потоки)
    #39748875
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorodaOleg
Код: pascal
1.
inherited; 


Куда ведет?
...
Рейтинг: 0 / 0
Invalid pointer при выходе из приложения (содержит потоки)
    #39748893
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorodaOlegПосле долгих мытарств баг был словлен, ошибка возникает на выходе из процедуры:
Во-первых, это не "словлен". Во-вторых, есть подозрение, что если уберёшь TerminateThread и не будешь пытаться делать то, что сложновато для твоего текущего уровня - результат будет лучше. А в-третьих, если ошибка возникает "после последнего end" - значит, ставишь на этот последний end брейкпоинт, нажимаешь Ctrl-Alt-C и внимательно, ничего не пропуская, идёшь по шагам и смотришь, где и когда на самом деле случается этот Invalid pointer.
...
Рейтинг: 0 / 0
Invalid pointer при выходе из приложения (содержит потоки)
    #39749013
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну в целом логично написать Убей мой хэндл а потом вызвать предка, который тоже собирался убить свой хэндл, а он уже убит )
...
Рейтинг: 0 / 0
Invalid pointer при выходе из приложения (содержит потоки)
    #39749155
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Invalid pointer при выходе из приложения (содержит потоки)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]