Man sollte der Vollständigkeit halber anführen dass das dein Formular (TForm) ein Sonderfall ist: Normalerweise ist die "Sichtbarkeit" bei Klassen und Records ohne weitere Angabe
public
.
TForm
leitet sich letztendlich von
TPersistent
aus
System.Classes
ab. Bei dieser Klasse wurde von den Delphi-Entwicklern eine Compiler-Einstellung vorgenommen dass es standardmäßig published sein soll:
Zitat:
Ein Element ohne Attribut erhält automatisch die Sichtbarkeit des vorhergehenden Elements in der Deklaration. Die Elemente am Anfang einer Klassendeklaration ohne explizite Sichtbarkeitsangabe werden standardmäßig als published deklariert, wenn die Klasse im Status {$M+} compiliert oder von einer mit {$M+} compilierten Klasse abgeleitet wurde. Andernfalls erhalten sie das Attribut public.
(
Quelle)
Heißt:
Delphi-Quellcode:
type
TMyObject = class(TObject)
someField: Integer; // <<< public
end;
TMyRecord = record
someField: Integer; // <<< public
end;
TMyComponent = class(TComponent)
someField: Integer; // <<< published
end;