![]() |
Re: Interface referenzen auf gleichheit prüfen?
Hey Maximov,
wenn es sich Zitat:
Vielleicht hast Du ja die Möglichkeit, Deine Ergebnisse ja in einem neuen Thread zur Diskussion stellen... |
Re: Interface referenzen auf gleichheit prüfen?
sehe ich auch so. In deinem Falle würde ich eine eigene TList Klasse erzeugen, oder ein Interface. Jedes Parent Object enthält eine solche TList/Interface in dem es seine Childrens verwaltet. Später kann man zu jeder Zeit die interne Implementierung dieser TList abändern ohne das das direkte Konzequenzen auf den Rest der Objecte hätte.
Allerings musst du auf eines wirklich exakt achten: Werden in dieser TList Interfaces gerspeichert so musst du auf das Referenececounting acht geben. Es kann sehr leicht vorkommen das sich dann überkreuzende Deadlocks der Interfaces bilden. D.h. das Interface A wird als Child in B eingefügt und A.RefCounter +1, zudem wird Interface B als Child in A eingebunden -> B.RefCounter +1. Passiert dies nun mehrmals über viel solcher verlinkter Interfaces kann es sehr häufig vokommen das duch die überkreuzende Bezüge die Interfaces== Objecte nicht mehr sauber freigegeben werden können. Gruß Hagen |
Re: Interface referenzen auf gleichheit prüfen?
Moin Choose,
vielleicht hast du recht (wie meisstens). Ich muss aber natürlich erstmal sehen ob ich das erreichen kann, was ich erreichen will. Oder ob mein konzept zu überdimensioniert und unpraktisch ist. Dieses spezielle problem war also nur ein kleines teil, eines grösseren teils, eines grösseren ganzen, welches nur eine schicht in einer architektur ist...oder so. Da ist aber noch nix in stein gemeisstelt. Ich denke zum gegebenen zeitpunkt nochmal drüber nach , dass hier zu diskutieren. Bis bald :wink: |
Re: Interface referenzen auf gleichheit prüfen?
Zitat:
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz