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.