Kopia lub przekazanie obiektów w listach generycznych

0

Witam,
mam taki problem (delphi xe5):
Mam dwie listy obiektów, które leżą w innych że tak powiem klasach.
np.:

Obiekty: TObjectList<TKlasa>;
Obiekty2: TObjectList<TKlasa>;

wypełniam listę Obiekty pewnymi obiektami TKlasa. DO tego momentu wszystko gra.

Jednak w liście Obiekty2 muszą znaleźć się te same obiekty, albo inaczej mówiąc obiekty o tych samych wartosciach (TKlasa.ID, TKlasa.Nazwa) itd.

Czyli pytanie brzmi jak skopiować (ewentualnie usunać z listy1 i przekazać do listy2) obiekty z listy do listy.

Nie wiem czy precyzyjnie się wyjaśniłem. Szybkośc nie ma dużego znaczenia, ale fajnie jakby to robiło się sprawnie i szybko. Listy nie są duże zbytnio (od 1 do 100 obiektów).
pozdrawiam

1

Może tak:

 Obiekty2.InsertRange(0, Copy(Obiekty.List, 0, Obiekty.Count));
0

Nie działa - są wycieki pamięci.
Gdybym miał listę Stringów to może by i przeszło - ale mam TObiekty...
Z tego co czytałem InsertRange jest całkiem ok, ale zwykłę COPY nie wystarczy aby tak skopiować/zająć pamięć.

Ktoś ma jakiś pomysł nowy?

0

Po pierwsze nie wiemy czy chcesz mieć dwie listy tych samych obiektów (dwie referencje na ten sam obiekt) czy dwie kopie tego samego obiektu?

Po drugie, niby dlaczego odpowiedź wyżej jest zła?

Po trzecie, copy jest złe ponieważ...?

0

Czytać nie umiesz ze zrozumieniem czy jak @TomRiddle? Na razie ominąłem problem przekazując referencję do pierwszej listy i na niej operuję, ale nie pasuje mi to zbytnio jakoś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1