AGB  ·  Datenschutz  ·  Impressum  







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

Memory Leak bei Interface Delegation

Ein Thema von dpg123 · begonnen am 27. Okt 2016 · letzter Beitrag vom 26. Jul 2019
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

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

AW: Memory Leak bei Interface Delegation

  Alt 28. Okt 2016, 10:50
Und wer gewinnst, wenn man mehrere Klassen delegiert?
Bestimmt der mit dein meisten Bytes im Code, wo mindstens ein Byte den Wert 666 hat.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
dpg123

Registriert seit: 13. Apr 2015
22 Beiträge
 
Turbo Delphi für Win32
 
#12

AW: Memory Leak bei Interface Delegation

  Alt 4. Nov 2016, 15:44
Entschuldigt die späte Rückmeldung!

Ich muss noch mal nachfragen: sehe ich es richtig, dass es mit folgender Deklaration

Delphi-Quellcode:
type
  IMyInterface = interface
    procedure Show;
  end;

  TMyClass = class(TAggregatedObject, IMyInterface)
    procedure Show;
  end;

  TMyWrapper = class(TInterfacedObject, IMyInterface)
  private
    FMyInterface: IMyInterface;
  public
    constructor Create;
    property MyInterface: IMyInterface read FMyInterface implements IMyInterface;
  end;
keine sauber Implementation ohne manuelles Freigeben von FMyInterface gibt? Und wie sähe diese mit Freigeben aus?

Dank und Gruß!

Geändert von dpg123 ( 4. Nov 2016 um 15:47 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: Memory Leak bei Interface Delegation

  Alt 25. Jul 2019, 19:51
Ich bin grade selber hierrüber gestoplert. Man braucht echt eine Weile bis man die Ursache gefunden hat. Soweit ich es sehe gibt es tatsächlich keine wirkliche Lösung für das Speicherleck. Bei der Zuweisung in die Variable zeigt er direkt auf das innere Objekt. Das implements-Schlüsselwort sollte einen zwingen an TContainedObject oder TAggregatedObject zu delegieren. Oder zumindest eine Warnung ausspucken.

Fazit: Ich streiche implements aus meinem Vokabular. Die paar Zeilen Tipparbeit für explizite Delegation an eine Instanz sind sowieso übersichtlicher.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.442 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Memory Leak bei Interface Delegation

  Alt 26. Jul 2019, 15:01
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Das passt ja genau hierher
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 10:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz