| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Хранение записей в VT не record, а class |
| Автор: ВиТеК 7.10.2009, 01:18 | ||
| В компоненте CheckList есть свойство Objects, которое позволяет хранить экземпляры классов. Например:
Есть ли такое же в VT? Или все-таки record имеет больше преемуществ? Просто в record нет возможности добавить процедуры и функции. |
| Автор: kami 7.10.2009, 01:25 | ||||
Я делаю так (неправильно, потому что работает только, если в NodeData один объект. Если добавить еще поля, то не хочет. Но меня устраивает, т.к. работает и FastMM утечек не выдает).
Добавлено через 6 минут и 12 секунд ну, и в качестве дополнения - добавление элемента с объектом
|
| Автор: ВиТеК 7.10.2009, 19:18 |
| И все-таки вопрос остался без ответа. Можно ли использовать классы вместо записей? |
| Автор: Beltar 8.10.2009, 07:21 |
| 1) Если у тебя не семерка, то в запись можно добавить методы, см хелп. 2) Я VT не использовал, но если там у узла такое же свойство типа Pointer, то никакой разницы что ты туда засунешь, указатель на экземпляр класса, или на структуру. Смотри что тебе удобнее. |
| Автор: ВиТеК 8.10.2009, 10:27 |
| У меня Delphi 2007. Просто я так понял в стандартном компоненте можно хранить сам класс в Objects. А в VT хранится указатель на область памяти с экземпляром класса (если такое возможно) или структурой? |
| Автор: Beltar 8.10.2009, 13:43 | ||
| В стандартном просто пишешь Node.Data:=TMyClass.Create;
Ну так при обращении явно тип приводишь. У меня, например, было: type TNodeDescriptor=record // end TNodeDescriptor(Node.Data^).Нужное_Поле. С классом ес-но ^ не нужен. |