Поиск сообщества
Показаны результаты для тегов 'TList'.
Найдено: 2 результата
-
Извиняюсь за псевдокод. Есть класс (A), у него есть несколько дочерних(B1.B2...) Создаю лист объектов TList<A>, в него добавляю объекты классов B1, B2... Есть третий класс С, который имеет перегруженный метод для всех дочерних классов (A). procedure p(obj: B1); procedure p(obj B2); Но объект в классе С всегда воспринимается как объект класса А. Как я могу решить проблему?
-
Есть класс: class TMyObjectInt : public TObject { private: int Value; public: __fastcall TMyObjectInt (int _Value); __fastcall ~TMyObjectInt(); }; Есть ComboBox: for (int i = 1; i <= 10; i++) cbxItems->Items->AddObject(IntToStr(i), new TMyObjectInt(i)); Почему при вызове ->Clear() не вызываются деструкторы для TObject'ов? Казалось бы базовый TObject замечательно для этого подходит, даже деструктор у него виртуальным объявлен. Я могу написать свою функцию очистки, но это потенциально приводит к ошибкам, особенно если я отдаю указатель на ComboBox за пределы своей формы. Кстати, так же ведут себя и многие другие контролы, да и в VCL было так же.