Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
1 / 1 / 0
Регистрация: 18.03.2014
Сообщений: 95

Сохранение созданного объекта в TList

02.02.2026, 15:59. Показов 1559. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такой рабочий код на Делфи:
Delphi
1
CONST CVList : TList = NIL;
Далее в другом юните создается объект CV, проверяется
Delphi
1
2
3
4
if not Assigned(CVList) then          
    CVList := TList.Create;        
    
CVList.Add(TObject(CV));

Попытался переписать на с++builder:

C++
1
const TList *CVList = NULL;
Создаю объект CV, далее хочу записать его в TList

C++
1
2
3
4
if (CVList == NULL)                                  
    TList *CVList = new TList();                                
 
CVList->Add((TObject*)(CV));
Почему то не работает?
Пожалуйста поясните в чем ошибка?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.02.2026, 15:59
Ответы с готовыми решениями:

Списки указателей TList
Здравсвуйте программисты! Подскажите пожалуйста,в чём проблемма в этом коде, начал изучать тему по...

Извлечение данных из TList
Доброго времени суток. Есть проблема: Имеется набор данных (DataSet), из которого нужно получить...

Передача TList по сокету
Здравствуйте. У меня вопрос, можно более грамотно передать данные с TList с помощью сокетов?...

25
Злостный нарушитель
 Аватар для Verevkin
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,888
02.02.2026, 19:48
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Dinkin Посмотреть сообщение
У меня мечта была, найти просто способ, проверять на активен ли еще указатель)
Что такое "активный указатель"?
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,182
Записей в блоге: 3
02.02.2026, 19:52
Цитата Сообщение от Verevkin Посмотреть сообщение
Что такое "активный указатель"?
Ну это как то так, проверка существует ли то на что он указывает:

C++
1
2
3
4
5
6
7
8
9
10
    TStringList *lst;
 
    if(!lst)
        lst = new TStringList;
 
    delete lst;
    // lst = NULL; // без этого
 
    if(lst)
        ShowMessage("Он к сожалению еще тут");
0
Злостный нарушитель
 Аватар для Verevkin
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,888
02.02.2026, 19:55
Цитата Сообщение от Dinkin Посмотреть сообщение
Ну это как то так, проверка существует ли то на что он указывает
Нет такого способа.
Если тебе понадобилось это знать, то у меня для тебя плохие новости.
Цитата Сообщение от Dinkin Посмотреть сообщение
C++
1
2
delete lst;
 // lst = NULL; // без этого
В delphi есть FreeAndNil(). Я им пользуюсь для обнуления ГЛОБАЛЬНЫХ указателей.
А если это глобальный объект, то обнуление его глобального указателя я делаю прям в деструкторе. В 99% случаев - это формы (потомки TForm).
0
1 / 1 / 0
Регистрация: 18.03.2014
Сообщений: 95
02.02.2026, 19:59  [ТС]
Цитата Сообщение от Verevkin Посмотреть сообщение
А ты спросил "зачем?"?
Написал им вопрос?

Добавлено через 1 минуту
Цитата Сообщение от Dinkin Посмотреть сообщение
Ну это как то так, проверка существует ли то на что он указывает:
C++
1
2
3
4
5
6
7
if (CVList) {                                                     
   CVList->Clear();                                            
   delete CVList;                                              
   CVList = NULL;                                          
}
if(CVList)
        ShowMessage("Он к сожалению еще тут");
Ну у меня вроде работает так.
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,182
Записей в блоге: 3
02.02.2026, 20:02
Цитата Сообщение от Verevkin Посмотреть сообщение
FreeAndNil()
Да это понятно, но если его только вы его лично удаляете, а не какой то механизм где то там, а у вас только указатель.

Цитата Сообщение от Verevkin Посмотреть сообщение
Нет такого способа.
Ну там есть бубны, типа как вариант использовать умные указатели....вобщем лан
0
Злостный нарушитель
 Аватар для Verevkin
10889 / 5825 / 1288
Регистрация: 12.03.2015
Сообщений: 26,888
02.02.2026, 20:04
Цитата Сообщение от frolandr Посмотреть сообщение
Ну у меня вроде работает так.
Это когда указатель у тебя один.
Когда их несколько штук и во всех в них адрес твоего объекта, то они не обнулятся и продолжат хранить теперь уже невалидный адрес удалённого объекта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.02.2026, 20:04

Метод класса TList
Написать метод класса TList, аналогичный append, который добавляет элемент не в конце списка, а в...

Ошибка "invalid conversion from 'void*' to 'TList*"
#include <stdio.h> #include <stdlib.h> #define COUNT_RS 5 typedef struct data_t { ...

Удаление из ОЗУ элементов списка TList
В программе имеется список из объектов собственного класса. В процессе работы с программой его...

Область видимости TList и структур
Непонимаю почему не видит из другого модуля структуру и листы при обращении к ним через функцию,...

TList vs. std::vector
Если кто-то знает, то подскажите, пожалуйста, в чем имеются принципиальные (ощутимые на практике)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru