Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.889 Beiträge
 
Delphi 12 Athens
 
#25

AW: Speicherleaks TMemoryStream in einem Objekt

  Alt 17. Jan 2024, 12:54
Weil Pascal/Delphi "objektorientiert" ist
Hinter einer Interfacereferenz steckt eine referenzgezählte Objektinstanz.

Warum wurde TStream nicht gleich als Interface umgesetzt?
Das wäre sicherlich an einigen Stellen wünschenswert (TList, TDictionary, TStream, TDataset, ...), aber wenn dann jemand diese Klassen als Objektreferenzen einsetzt und irgendwo aus Versehen als Interface übergibt, wäre das doof. Insofern ist es schon auch schwierig, wenn solche Klassen auch als Interface angeboten würden. Und nur als Interface wäre wieder u.a. ein Performancethema und nachträglich kaum machbar.
Es hat trotzdem einen Vorteil wenn man "Just-In-Case" für all diese basic-klassen ein Interface hätte welches sie auch implementieren...
Im Falle von tDatabase wäre es eine NICHT Arc implementierung, aber so hätte man trotzdem noch Möglichkeiten was Auslagerung in DLLs und Reduzierung von Abhängigkeiten betrifft.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat