czesc,
Mam wszystkie obiekty na jednej liscie glownej. Obiekty sa podzielone na rozlaczne grupy.
Te grupy posiadaja listy z wskaznikami do obiektow z glownej listy.
Czasem zwalniam jakis obiekt z tej glownej listy i trzeba wtedy usunąc też wszystkie wskazniki do niego z odpowiedniej grupy.
- jedna metoda to przy kasowaniu sprawdzic wszystkie miejsca gdzie taki wskanik moze byc i go usunac
- a druga to przy korzystaniu ze wskaznika sprawdzac czy obiekt pod nim nie zostal usuniety....
nie chce wpisywac do kodu na sztywno miejsc w ktorych moze byc wskaznik - bo to malo rozwojowe i kiedys moze sie rozjechac...
a sprawdzanie za kazdym razem kazdego obiektu to z koleii czasochłonne strasznie...
moze jakies drzewo zamiast list, moze lista list?
chodzi mi o to zeby
- byl latwy scentralizowany dostep do wszystkich obiektow,
for ob in WszystkieObiekty do
ob.jakas_funkcja();
ale tez, bez jakichs dodatkowych warunkow, do obiektow w danej grupie
for ob in Grupa.Obiekty do
ob.jakas_funkcja();
a najlepiej jesli moznaby zrobic jeden 'worek' z obiektami roznych klas
i do tego jakis sprytny iterator wyciagajacy np obiekty danej klasy dla danej grupy...
od niedawan uzywam Delphi XE2, moze wprowadzili jakies ciekawe usprawnienia?
no i najwazniejsze, zeby to byl jeden byt, aby nie trzymac wskaznikow do obiektow w wielu miejscach
i nie musiec sie zastanawiac gdzie ich szukac w przypadku zwolnienia obiektu...
pozdrawiam
mh