Die boolean-Property als Default zu deklarieren wurde mir nicht gleich als Fehler angezeigt, als alle anderen Fehler behoben waren hat es der Compiler aber getan. Von daher hat sich die Sache ohnehin schon erledigt. (Verstehe die Restriktion von Delphi auf array-Typen allerdings nicht)
Also das geht:
Delphi-Quellcode:
type
TMyClass = class
private
function GetMyProp(Index: Integer): Boolean;
procedure SetMyProp(Index: Integer; const Value: Boolean);
public
property MyProp[Index: Integer]: Boolean read GetMyProp write SetMyProp; default;
end;
Der Compiler erkennt bei MyClass[0], anhand der eckigen Klammern, daß hier die Standard-Array-Eigenschaft gemeint ist.
Das geht nicht:
Delphi-Quellcode:
type
TMyClass = class
private
FMyProp: Boolean;
public
property MyProp: Boolean read FMyProp write FMyProp; default;
end;
Das geht zwar wieder:
Delphi-Quellcode:
type
TMyClass = class
private
FMyProp: Boolean;
public
property MyProp: Boolean read FMyProp write FMyProp default true;
end;
hat aber eine vollkommen andere Bedeutung.