Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
21. Jul 2010
Jupp, damit kann man schöne Sachen machen,
aber drum dauert es mit meinem neuen himXML auch noch etwas, denn multible Kreuzreferenzen und eine automatische Freigabe lassen sich mit Interfaces nicht so einfach handhaben ... also ohne daß sich die Objekte gegenseitig im Speicher halten.
Wie gesagt:
- entweder man muß die Referenzzählung irgendwie manipulieren, wenn man Objektzugriffe mit...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
21. Jul 2010
Ich sagte doch "nicht interfaces mit Objekten mischen" :warn:
Objekte = keine Referenzzählung
Interfaces = ja
TTemperaturAnzeigen ist das Objekt und wird demnach nicht mitgezählt.
hier gibt es also nur 2-3 Lösungen:
- entweder du meldest beim Interface (._AddRef) diese Referenz an
- oder besser, du nimmst hier auch statt TTemperaturAnzeigen das IBeobachter.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
21. Jul 2010
Interfaces haben eine Referenzzählung.
Wenn keine Interfaceinstanzen mehr existieren, dann wird das Objekt freigegeben ... das ist der Sinn von Interfaces.
PS: aus diesesm Grund mischt man auch Interfacezugriffe und Objektzugriffe nicht miteinander, da es so schnell mal zu Problemen kommen kann.
Also wenn das Interface/Objekt noch nicht zersört werden soll, dann mußt du weiterhin eine...