AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Interface und Zugriffsverletzung

Ein Thema von _frank_ · begonnen am 22. Jul 2007 · letzter Beitrag vom 22. Jul 2007
 
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.232 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Interface und Zugriffsverletzung

  Alt 22. Jul 2007, 16:46
Zitat von hoika:
Interfaces unter Delphi sind COM-Interfaces.
Die daranhängendenden Objekte werden "wild" freigegeben,
wenn das Interface seine Gültigkeit verliert.
Das kann ich so nicht stehen lassen:

1, Interfaces unter Delphi sind an COM angelehnt, aber funktionieren wunderprächtig auch Delphi-Intern und auch unter Linux (Kylix)
2, Sie werden (im Gegensatz zu .NET) nicht "wild" freigegeben (die "dahinterliegende" Instanz eines Objekts) sondern sofort wenn es keinen Interfacezeiger mehr darauf gibt (Referenzzählung). Nur wenn man den Tipp von xaromz (Keine Mischverwendung Instanzen und Interfaces) nicht berücksichtigt bekommst man Probleme mit der Delphi-Implementierung von Interfaces).

Zitat von hoika:
Wird das Interface z.B. als lokale Variable definiert,
wird nach Beenden der Methode auch das Objekt freigegeben.
Da muss man dann Rumtricksen mit _AddRef und Release.
Und wieso das? Wenn die Variable/Interface lokal ist dann sollte sie doch freigeben werden nach dem Verlassen. Du hast ja auch keine Variable mehr um darauf zuzugreifen.

Wenn man 2-3 Fallen der Delphi-Implementierung umschifft dann sind Interfaces in Delphi (im Gegensatz z.B. zu C/C++, auch mit Smartpointer) easy zu verwenden und auch sehr Pflegeleicht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  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:43 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