Autor Beitrag
Daniel L.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140
Erhaltene Danke: 14

W7, W8
TurboD Prof, Delphi Community
BeitragVerfasst: Do 25.11.10 21:55 
Hi,

schreibt man inherited in einem sinnlosen Zusammenhang, wird dafür kein Code erzeugt.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.test;
begin
    inherited;     // Für diese Zeile wird kein Code erzeugt
end


Ich würde eigentlich eine Fehlermedung erwarten, weil es test in TForm nicht gibt.
(Code-Optimierung ist ausgestellt)

:?!?: : Daniel
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 25.11.10 22:26 
Es gibt u.a. keine Fehlermeldung, damit man es prophylaktisch hinschreiben kann. Wenn dann in der Ursprungsklasse etwas geändert wird (nämlich die Methode implementiert), muss man nicht in allen abgeleiteten auch etwas ändern (und daran denken).

Inherited ruft die entsprechende Methode der Elternklasse auf, wenn diese existiert. Und wenn nicht, eben nicht.