Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 15.09.2019, 12:52   #1
IGORICH
 
Регистрация: 13.07.2019
Сообщений: 5
Репутация: 10
По умолчанию Как удалить класс

Как удалить класс с зависшей функцией или впавшей в бесконечный цикл ?
delete проходит без ошибки , но фукция живет.
IGORICH вне форума   Ответить с цитированием
Старый 15.09.2019, 13:10   #2
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,239
Репутация: 3739

icq: 512-765
skype: alexp.frl
По умолчанию

вы о чем? как вы delete вызовете если она зависла? из другого потока что ли?

вам надо разобраться почему она зависает и исправить код, добавить таймауты если это что-то внешнее и т.д.

ну а delete только память занятую полями объекта и т.д. освобождает, вызывает деструктор, а не останавливает код. Так что "остановка" произойдет только если после этого ваш код обратится к освобожденной памяти и что-нибудь сломает, словит Access Violation и т.д.

Последний раз редактировалось Alex11223; 15.09.2019 в 13:15.
Alex11223 на форуме   Ответить с цитированием
Старый 15.09.2019, 13:25   #3
IGORICH
 
Регистрация: 13.07.2019
Сообщений: 5
Репутация: 10
По умолчанию

ЯСЕН КРАСЕН , ЧТО В ПОТОКЕ....
ТАЙМ_АУТОМ И УДАЛЯЮ....
IGORICH вне форума   Ответить с цитированием
Старый 15.09.2019, 13:35   #4
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,239
Репутация: 3739

icq: 512-765
skype: alexp.frl
По умолчанию

Так нельзя, надо сделать нормальное завершение (например, при установке какого-то флага) и выход.
Про таймауты я имел в виду таймауты во внешних штуках типа настроек в HTTP клиенте, WaitFor* в WinApi и т.д.
Alex11223 на форуме   Ответить с цитированием
Старый 16.09.2019, 09:05   #5
IGORICH
 
Регистрация: 13.07.2019
Сообщений: 5
Репутация: 10
По умолчанию

Так что "остановка" произойдет только если после этого ваш код обратится к освобожденной памяти и что-нибудь сломает, словит Access Violation и т.д.

ВОТ И Я ОБ ЭТОМ... КАК СКАЗАТЬ СИСТЕМЕ НЕ ВЫДЕЛЯТЬ ПРОЦЕССОРНОЕ ВРЕМЯ БЛОКУ ПАМЯТИ
IGORICH вне форума   Ответить с цитированием
Старый 16.09.2019, 09:21   #6
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,239
Репутация: 3739

icq: 512-765
skype: alexp.frl
По умолчанию



↓↓↓↓↓↓
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
надо разобраться почему она зависает и исправить код,
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
надо сделать нормальное завершение (например, при установке какого-то флага) и выход.
Про таймауты я имел в виду таймауты во внешних штуках типа настроек в HTTP клиенте, WaitFor* в WinApi и т.д.
Alex11223 на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить класс в проект2,похожий на класс из проекта1!оба проекта есть! xeops C# (си шарп) 0 15.05.2012 20:31
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. Человек_Борща Общие вопросы Delphi 8 27.02.2012 23:24
как удалить объект по указателю на его базовый класс? AndreyBS Общие вопросы C/C++ 5 17.04.2011 11:29
Освободить поток. Нужно удалить 1 событие и 1 класс TwiX Общие вопросы Delphi 3 26.04.2010 02:23
Удалить символ из строки - класс контейнер ArniLand Общие вопросы C/C++ 0 31.03.2010 20:29


13:26.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.