AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi GDI+: IStream oder TStreamAdapter
Thema durchsuchen
Ansicht
Themen-Optionen

GDI+: IStream oder TStreamAdapter

Ein Thema von ken_jones · begonnen am 20. Aug 2012 · letzter Beitrag vom 21. Aug 2012
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.483 Beiträge
 
Delphi 12 Athens
 
#4

AW: GDI+: IStream oder TStreamAdapter

  Alt 20. Aug 2012, 20:07
Objektreferenzen sind nicht mir einer Referenzzählung versehen ... niemals.
Also wird Delphi da auch niemals _AddRef aufrufen.

Bei Übergabe an den Constructor, als Interface, wird bei Aufruf des Constructor eine Interface-Referenz erstellt und demnach auch _AddRef aufgerufen.
Bei Austritt aus dem Custructor wird diese Referenz nicht mehr benötigt und _Release aufgerufen, womit die Referenzählung runterzählt, auf 0 kommt und das Interface/Objekt freigibt.

Antwort: Kombiniere niemals Objektreferenzen mit Interfacereferenzen. (nicht ohne die Referenzzählung für diesen Fall außer Kraft zu setzen),
denn Objektreferenzen werden immer über Free/Destroy freigegeben und Interfaces geben sich selber frei (durch die Referenzzählung ausgelöst) und des darf niemals mehrere "Owner" geben (wenn diese nicht alle voneinander wissen und sich gegenseitig Benachrichtigen, wenn einer alles auflöst, bzw. nicht ohne die anderen Owner irgendwie über die zusätzlichen Referenzen in den Ownern zu informieren).

In diesem Fall wird ein Interface (IStream) benötigt, also sollte auch ausschließlich nur mit Interface-Referenzen gearbeitet werden.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (20. Aug 2012 um 20:13 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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