Вниз
Скачать: CL | DM;

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

← →
Кевларвестов Семен   (2007-02-22 12:32) [0]

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


← →
TUser ©   (2007-02-22 14:09) [1]

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


← →
Ega23 ©   (2007-02-22 14:13) [2]

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


← →
Kolan ©   (2007-02-22 14:20) [3]

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

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

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


← →
Kolan ©   (2007-02-22 14:20) [4]

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

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


← →
default ©   (2007-02-22 14:21) [5]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
3-1167045552
tytus
2006-12-25 14:19
2007.03.18
10g Express edition & DOA 4.0.7 - проблема с коннектом


2-1172087049
vasIZmax
2007-02-21 22:44
2007.03.18
Ввязался...


6-1160120554
SergeySP
2006-10-06 11:42
2007.03.18
Удалить подвисшее соединение.


2-1172438129
niil
2007-02-26 00:15
2007.03.18
TidHttp -> TImage


1-1169485106
Alek_1
2007-01-22 19:58
2007.03.18
преобразование OleVariant v String




   Наверх