![]() |
|
|
![]()
|
|
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
В стандартном классе vcl TList есть свойство items.
В него передается индекс и получается адрес элемента Я не могу понять как это объявить - у меня есть свой класс, который хранит список объектов моего типа (не чисто массив, а с неким функционалом). Доступ к элементу у меня при помощи метода GetItem(Index). А как сделать этот же доступ через квадратные скобки? Полез в исходники vcl - а там во-первых все на паскале, а во-вторых я вообще этого свойства не нашел. Может исходники у меня не полные, либо искатель из меня фиговый. |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
А что ты имеешь ввиду, не чисто массив, а с функциональностями?
-------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| fish9370 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 1 Всего: 1 |
я на днях, тоже создал свой список, который может содержать любую субстанцию, а не тоько строку.. мы с тобой встречались по этому поводу в другой ветке.. интересно по какому пути пошел ты, как память выделяешь, как хранишь элементы? в твоем же случае нужно перегрузить operator[] и собственно все.. выглядит примерно так:
Это сообщение отредактировал(а) fish9370 - 22.4.2007, 19:00 -------------------- undefined |
||||
|
|||||
| Anikmar |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Нет, мне не это нужно. Перегружать оператор - это на один уровень ниже. В данном случае это не нужно. Все оказалось просто: надо было это свойство объявлять не через класс эксполорер. Сначала создаются методы Get и Set с параметром int, а потом вручную правится свойство и получается так:
А если перегружать скобки, то синтаксис бы усложнился - мне вариант, использованный в Tlist больше понравился. Я просто неврубился как его реализовать. Я использую стандартный Tlist - у меня массив не более 100 элементов, мне нужно другое. У меня некие универсальные объекты хранения записей таблиц БД - Получил запись из БД, потом надо с ней что-то делать, об изменениях записать в Лог и т.п. Все это реализовано в базовом классе, от которого наследники уже переопределяют нужные виртальные методы. А этот класс - массив таких записей (для построения интерфейса). Например некий документ со строками. Не будешь же его редактировать прямо в гриде - вдруг пользователь нажмет отмену. А держать открытой транзакцию - это плохо. Вот и понадобился универсальный список строк Пожалуй спасибо всем за участие - тему помечу как решенную. |
||||
|
|||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |