Die
VCL verwendet keine Tricks sondern nur den etablierten Weg über Komponenten.
Eben. Und eine Komponente ist kein Objekt? Du hast mir also meine Frage noch nicht beantwortet: Weshalb soll man "Smart Pointer", "Smart Interfaces" oder wie immer solche Dinge auch genannt werden, nicht verwenden? Weil sie nicht "etabliert" sind?
Das Problem ist, dass man globale Objekte vermeiden sollte wann immer es möglich ist.
Ja - weshalb denn? Nenne bitte einen nachvollziehbaren Grund.
Manchmal lässt es sich nicht vermeiden ein Objekt global anzulegen, aber jedes globale Objekt erzeugt auch Probleme wie schlechte Testbarkeit.
Auch das ist nur eine pauschale Aussage. Es wäre schön, wenn Du Deine Behauptungen auch untermauern würdest...