AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 05:02

Parameter dieser Suchanfrage:

Suche in Thema: MemoryLeak bei TList<IMyInterface>
Suche alle Beiträge, die von "stahli" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 10 von insges. 10 Treffern
Suche benötigte 0.002s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: MemoryLeak bei TList<IMyInterface>

      Delphi
      by stahli, 28. Feb 2015
    Jetzt wieder zum eigentlichen Thema: gegenseitige Referenzierung IListe <-> IEintrag ...

    Ein klassischer Lösungsansatz geht offenbar über TAggregatedObject.
    Das Pointergeschiebe ist mir aber irgendwie suspekt (genauer gesagt verstehe ich das nicht ausreichend und erscheint mir das recht unsicher).

    Mir erscheint es für meinen Anwendungsfall sinnvoller, auf die automatische Referenzzählung...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: MemoryLeak bei TList<IMyInterface>

      Delphi
      by stahli, 26. Feb 2015
    @himi

    Einen IchVerneigeMichVorDir-Smily hat die DP ja nicht - hilfsweise dann so: :kiss:

    Das klingt einleuchtend und plausibel. Aber wie bekommt man das raus?


    @Stevie

    Das MemoryLeak ist woanders verursacht. Mein 1:2-Problem ergab sich als Fragestellung zwischendurch bei der Fehlersuche, ist aber nicht Fehlerverursachend.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: MemoryLeak bei TList<IMyInterface>

      Delphi
      by stahli, 26. Feb 2015
    Ok, danke, so tief war ich da noch nicht eingestiegen (verstehe das auch jetzt nur ansatzweise).


    Das Problem RefCounter mal 1 mal 2 konnte ich jetzt etwas eingrenzen:


    Von der Factory wird nur ein Objekt erzeugt und als Interface zurück gegeben.

    Wenn ich das Ergebnis einer lokalen Interfacevariable zuweise ist RefCounter 1.
    Die gleiche Zuweisung zu einem privaten Feld führt zu...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: MemoryLeak bei TList<IMyInterface>

      Delphi
      by stahli, 26. Feb 2015
    Ja, habe ich natürlich auch vor (hatte ich natürlich auch schon mal oberflächlich).

    Aber egal, was dort passiert, das dürfte doch erst bei "inherited" abgearbeitet werden und nicht bei "begin"!?
    Daher bin ich davon ausgegangen, dass der Linker da irgendwas tut, das man innerhalb der Klasse nicht wirklich erkennen kann.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: MemoryLeak bei TList<IMyInterface>

      Delphi
      by stahli, 26. Feb 2015
    Hmm, offenbar sind gegenseitige Referenzen mein Problem.

    Ich habe ein MyIntf, das eine Eigenschaft IMyParentList unterstützt.
    Das Interface weiß also, von welcher Liste es kontrolliert wird und kann diese über bestimmte Änderungen informieren.

    Jetzt wird aber wohl die IMyParentList nicht freigegeben weil MyIntf nicht freigegeben wird und anders rum.
    In der Richtung scheint das Problem zu...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: MemoryLeak bei TList<IMyInterface>

      Delphi
      by stahli, 24. Feb 2015
    Ok, danke für die Idee.

    Ich dachte eigentlich, dass ich mich als NixBlicker oute.
    Dass die IDE das wirklich nicht anzeigt ist echt schwach.
    Das braucht doch eigentlich jeder, der intensiver mit Interfaces arbeitet...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: MemoryLeak bei TList<IMyInterface>

      Delphi
      by stahli, 24. Feb 2015
    generell:

    Der Fehler ist ganz sicher als ein solcher zu bezeichnen.
    Über das Problem wird wohl jeder stolpern, der Interfaces in Delphi benutzt. Ein logisches und zu erwartendes Verhalten ist das jedenfalls nicht.
    Es ist für mich nicht nachvollziehbar, dass Emba das nicht in Ordnung bringt (ggf. mit einem Projektschalter: InterfaceMemoryLeakProblemBeibehalten = True).


    mein Problem:
    ...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: MemoryLeak bei TList<IMyInterface>

      Delphi
      by stahli, 23. Feb 2015
    @Sir

    Ich hatte vorhin keinen roten Kasten...

    Heißt das, wenn ich Interface-Parameter in einer Methode nicht benutzt wird gibt es ein MemoryLeak?
    Das wäre ja eine sehr unschöne Sache.

    Nach meiner derzeitigen Einschätzung dürfte das aber nicht das vorliegende Problem sein, da ich das Speicherleck vermeiden kann, indem ich die Anseisung List.Add(aInterface) auskommentiere.

    Mir fällt...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: MemoryLeak bei TList<IMyInterface>

      Delphi
      by stahli, 23. Feb 2015
    Es gibt im Projekt einige Querverbindungen.
    Aber wenn ich das List.Add mal rausnehme passt offenbar alles.

    Ich werde das heute Abend mal weiter untersuchen. Gestern bin ich daran etwas verzeifelt.

    Hätte ja sein können, dass da ein Bug bekannt wäre oder ich einen generellen Denkfehler hätte.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    MemoryLeak bei TList<IMyInterface>

      Delphi
      by stahli, 23. Feb 2015
    Hi,

    ich bin noch nicht dazu gekommen, genauer nachzugraben - aber vielleicht ist das Problem ja auch direkt bekannt?

    Ich arbeite mit XE3 an einem Projekt, das intensiv Interfaces benutzt. Jetzt zeigt mir EurekaLog ein Speicherleck.
    Ich konnte das soweit eingrenzen, dass es wohl an einer generischen Liste liegen muss:

    List := TList<IMyInterface>.Create;
    List.Add(aInterface);
    List.Free;


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=stahli&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=184063
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:13 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