Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#20

AW: Warum kann man Vererbung verhindern (csInheritable)?

  Alt 1. Apr 2011, 10:21
Kann es sein das all diese Komponenten deprecated sind? Dann würde es Sinn machen. So verhindert man das neue Formulare auf veralteten Komponenten aufbauen und zwingt somit den Programmierer auf andere Komponenten auszuweichen.
Die Komponenten sind nicht "veraltet".
Weder bei Delphi 7 (1. Beitrag) noch bei der aktuellen XE.

Dafür, einer Komponente die Vererbung zu verbieten, fällt mir nur ein Szenario ein: Als Anbieter von closed source Komponenten könnte man durchaus ein (wirtschaftliches) Interesse daran haben, das Dritte die Komponente nicht erweitern können.
Es geht nicht darum die Vererbung einer Komponente zu verbieten.
Welchen Sinn das hat, ist mit klar. (sealed Objects)

Es geht darum, dass eine Komponente verhindert das das Owner/Parent-Formular nicht mehr vererbt werden kann.

Also nochmal:
  • Alle möglichen Komponenten auf Form -> Form kann vererbt werden.
  • Eine der 3 problematischen Komponente (z.B. TActionManager) auf Form -> Form kann nicht mehr vererbt werden.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat