Thema: Weak-TList ?

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Weak-TList ?

  Alt 26. Feb 2015, 10:31
Mit "nativ" meinte ich "Nur mit den Mitteln dessen, was Delphi selber kann", also ohne Fremdkomponenten und möglichst ohne viel selbst zu basteln.

Die ersten Beiden sollten schon funktionieren (zumindestens im NextGen/WEAKINTREF),
Delphi-Quellcode:
type
  TParent = class(TInterfacedObject, IParent)
    FChild: IChild;
  end;

  TChild = class(TInterfacedObject, IChild)
    [Weak] FParent: IParent;
  end;
Delphi-Quellcode:
type
  TParent = class(TInterfacedObject, IParent)
    FChilds: TList<IChild>;
  end;

  TChild = class(TInterfacedObject, IChild)
    [Weak] FParent: IParent;
  end;
aber hier hängt es, also wie man das genau "definiert".
Delphi-Quellcode:
type
  TParent = class(TInterfacedObject, IParent)
    FLink: ILink;
  end;

  TLink = class(TInterfacedObject, ILink)
    FParents: TList<[Weak] IParent>;
  end;
Wenn Delphi das dann in den nächsten 20 Jahren endlich mal in allen Compileren richtig drin hat,
(k.A. warum man [Weak] für Interfaces nicht überall eingebaut hat )
dann wäre jetzt kein weiterer Code mehr nötig.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Feb 2015 um 10:35 Uhr)
  Mit Zitat antworten Zitat