Die Standardsichtbarkeit ist nicht immer "published"!
Zitat von
Delphi-Hilfe:
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.
Hier ein Beispiel:
Delphi-Quellcode:
TMyObject1 = class (TObject)
FFoo : Integer;
property Foo: Integer read FFoo write FFoo;
end;
{$M+}
TMyObject2 = class (TObject)
FFoo : Integer;
property Foo: Integer read FFoo write FFoo;
end;
{$M-}
Die Deklaration von
TMyObject1 wird ohne Probleme übersetzt, bei der Deklaration von
TMyObject2 meldet der Compiler einen Fehler.
Gruß Hawkeye