![]() |
AW: RefCount nach Erstellung von TInterfacedObject gleich 0
Dann ist das ein Problem der versteckten Compilermagic.
Wenn der Compiler diesen Cast intern in eine Supports-Anfrage ändert, dann geht das natürlich. Schade, daß man nicht sieht, ob/wo die Compilermagic einem einen "Streich" speielt. |
AW: RefCount nach Erstellung von TInterfacedObject gleich 0
Der saubere Weg seit D2010 ist
Delphi-Quellcode:
:
as
![]() Zitat:
Zitat:
|
AW: RefCount nach Erstellung von TInterfacedObject gleich 0
Zitat:
Die Information, dass diese Interface-Zeiger besondere Zeiger sind, wusste ich bisher (leider) noch nicht. Das ändert natürlich die Sachlage etwas ;) danke an euch alle, vor allem die gesamte Diskussion drum herum! |
AW: RefCount nach Erstellung von TInterfacedObject gleich 0
Zitat:
Erstmal Trennung von Schnittstelle und Code. > Man muß nur die Schnittstelle (die Interfacedeklaration) kennen und es ist unwichtig, was sich dahinter versteckt. (bzw. man muß nicht das Innere verraten) Und die Freigabe regelt das Interface selber. > Es zählt wie oft es verwendet wird (wieviele Variablen auf es zeigen) und wenn keiner mehr drauf zeigt, gibt es sich selber frei. > Bei wird die Freigabe extern geregelt ... irgendwer ruft Free auf (wobei es nicht beachtet wird, ob noch eine andere Variable drauf zeigen könnte ... btw. niemand weiß wie oft was verlinkt wird) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 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