![]() |
"Verkettetes Netz" in einer Winforms-Anwendung
Ich suche nach einem einfachen und performanten Weg ohne {$UNSAFECODE ON} ein "verkettetes Netz" zu erstellen.
Jeder Knoten besitzt eine Menge an einseitigen Verbindungen zu anderen Knoten (wie eine einfach verkettete Liste, nur das ein Element mehrere Nachfolger haben kann). Die Verbindungen selbst haben eine Wichtung. Mit Records und Pointern kann ich das ja nicht lösen. Wie krieg ich das jetzt hin? /edit: Offene Frage |
Re: "Verkettetes Netz" in einer Winforms-Anwendung
Mit Klassen statt Records und Referenzen statt Pointern ;)
|
Re: "Verkettetes Netz" in einer Winforms-Anwendung
:wall:
Okay, danke. :stupid: PS: Wenn ich das gesamte Netz loswerden will, entledige ich mich einfach allen Referenzen auf das Netz und vergesse es dann einfach (Stichwort GC)? |
Re: "Verkettetes Netz" in einer Winforms-Anwendung
Dafür sind GCs da. ;)
Aber du musst aufpassen, dass du keine weak references hälst. Hauptsächlich Event subscriptions... Die verhindern natürlich, dass ein Objekt freigegeben wird. ;) |
Re: "Verkettetes Netz" in einer Winforms-Anwendung
Ist es nicht genau umgekehrt?
MSDN hat geschrieben: Represents a weak reference, which references an object while still allowing it to be garbage collected. |
Re: "Verkettetes Netz" in einer Winforms-Anwendung
Code:
Wenn b nicht mehr benutzt wird können beide freigegeben werden. Solange b benutzt wird kann a nicht freigegeben werden.
A a = new A();
B b = new B(); b.X += a.Miep; Damit hatte ich selbst schon sehr unangenehme Erfahrungen. ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 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