powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Bilder. Деструктор самодельного производного класса.
3 сообщений из 3, страница 1 из 1
Bilder. Деструктор самодельного производного класса.
    #34737247
Павел. С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Написал класс, наследник от TImage.
Отличается только наличием пары полей.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
class TPictogram : public TImage
{
private:
public:
        int 		ID;
        int 		SizeType;
        AnsiString	Type;
        __fastcall TPictogram (TComponent* Owner);
};

Имплементация конструктора
Код: plaintext
1.
2.
3.
4.
__fastcall TPictogram ::TPictogram (TComponent* Owner)
        : TImage(Owner)
{
}

Больше ничего по классу нет.

На форме создаю объекты этого класса динамически.
Код: plaintext
1.
2.
3.
TPictogram *CP = new TPictogram (NULL);
CP->Parent = ScrollBox1;
// etc.
Задаю нужные параметры, и кидаю в TList.
Код: plaintext
1.
List->Add(CP);
Все отлично работает, но периодически приходится заново создавать весь список таких объектов.

Перед этим, как положено, чищу память.
1) Обхожу весь вписок, вызываю деструкторы каждого объекта
2) Вызываю деструктор самого TList.

Так вот, когда заново создаю объекты своего класса-наследника от TImage, выскакивает исключение Acces Violiation при присвоении
Код: plaintext
CP->Parent = ScrollBox1;

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

В чем проблема?
Сильно не пинайте, новичек пока в ООП.
...
Рейтинг: 0 / 0
Bilder. Деструктор самодельного производного класса.
    #34737267
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел. С ПС> Так вот, когда заново создаю объекты своего
ПС> класса-наследника от TImage, выскакивает исключение Acces
ПС> Violiation при присвоении CP->Parent = ScrollBox1;

ПС> Заметил, что если деструкторы своего класса не вызывать
ПС> перед этим - все отлично работает.

ПС> В чем проблема?отладчиком посмотри, что там происходит
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Bilder. Деструктор самодельного производного класса.
    #34737315
Тынц.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Зачем после чистки списка удалять сам List ? Ему достаточно сказать Clear, а удалить можно когда он уже не понадобится.
2) Посмотри TObjectList - он умеет сам управлять хранимыми объектами, не нужна будет рутина в виде циклов по списку с удалением каждого элемеента.
3) Покажи код удаления объектов, хранящихся в списке, есть подозрение, что ошибка где-то там :)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Bilder. Деструктор самодельного производного класса.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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