Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Component.Free -> auch fremde Zeiger auflösen

  Alt 6. Sep 2010, 22:54
@ Christian

Zitat:
Das könnte man entkoppeln, was etwas schöner wäre. Aber auch das ist noch OK. Kann man so machen.
Wie meinst Du "entkoppeln"?

Zitat:
Was aber, wenn die oberen darauf reagieren müssen, wenn auf den unteren Schichten was passiert? Dafür gibt es Indirektionsmechanismen. Also Events oder beispielsweise das Observer-Pattern.
Das klingt strukturell sehr sinnvoll. Ich werde das mal über ein Event ankoppeln. Der Grundsatz, dass alle sichbaren Komponenten ungültig und bei Gelegenheit neu gezeichnet werden, bleibt ja aber dadurch gleich...

Zitat:
Ganz böse. Du hast hier eine Abhängigkeit erzeugt, die dir sehr lustige Probleme bereiten kann.
Das Problem ist der Focus und ein Selectionsrahmen, der von meinen Items gezeichnet wird. Verliert ein zu entfernendes Item den Focus (dadurch, dass sich in der übergeordneten Liste etwas ändert) zeichnet es sich sofort neu. Wenn dann die DC oder deren XmlKnoten (bzw. die Zeiger darauf) ungültig, da gelöscht sind, dann kann es beim Zeichen knallen, da die Kompo nochmal auis dem gelöschten Knoten lesen will.
Daher suche ich im DC.Destroy alle Zeiger auf diese und setze sie auf nil. Das funktioniert, sofern ich weiß, wo diese Verweise vokommen können.

Zitat:
Jein. Du löst das Problem nicht, du umgehst es.
Hmm, wie ginge es besser?


@ Uli
Das habe ich mir schon angesehen, aber das schien nicht zu passen. Wenn ich das richtig verstanden habe funktioniert das Konzept nur in Zusammenhang mit Listen.
(Ich habe aber dann irgendwann aufgegeben )
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat