Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как можно сравнить два объекта?


Кевларвестов Семен ©   (2007-02-22 12:32:00) 

Добрый день! В TObjectList грузится некторые объекты (одинаковые)
Можно ли как то сделать проверку, чтобы туда не попадали одинаковые.
(С одинаковыми свойствами), собственно, что не проверять каждый из параметров.
Думал сработает TobjectList.IndexOf(SomeObject), но она постоянно выдает -1. Может можно взять какую-нить так хэш функцию от объекта или еще как то их "быстро" сравнить?


default   (2007-02-22 14:21:00) [1]

в .NET у базового класса Object определён метод Equals который в своеё базовой реализации сравнивает сначала ссылки ссылки не объекты, потом типы объектов, потом уже данные


Kolan   (2007-02-22 14:20:00) [2]

> В TObjectList грузится некторые объекты (одинаковые)

В некоторых объектах реализовать процедуру
function IsSame(AObjectLikeMe: TSomeObbject): Boolean;
и проверять при добавлении с помощью неё...

А еще можно перекрыть оператор "="


Kolan   (2007-02-22 14:20:00) [3]

> А еще можно перекрыть оператор "="

Наверно :) Я не пробовал...


Ega23   (2007-02-22 14:13:00) [4]

Проверить значение указателя не объект. Если они отличаются - значит объекты УЖЕ разные.


TUser   (2007-02-22 14:09:00) [5]

Можно быстро проверить все published свойства.


Наверх

Титульная страница Поиск, карта сайта Написать письмо