1 unit tdefaultproperty1;
2 
3 {$mode objfpc}{$H+}
4 
5 interface
6 
7 type
8   TNamedObj = class
9   public
10     Name: string;
11   end;
12 
13 
14   { TBaseObject }
15 
16   TBaseObject = class
17   private
GetObjectnull18     function GetObject(Index: Integer): TNamedObj;
19   public
20     property Objects[Index: Integer]: TNamedObj read GetObject; default;
21   end;
22 
23 implementation
24 
25 { TBaseObject }
26 
TBaseObject.GetObjectnull27 function TBaseObject.GetObject(Index: Integer): TNamedObj;
28 var
29   I: Integer;
30 begin
31   Self.Objects{declaration:tdefaultproperty1.TBaseObject.Objects}[I].Name{declaration:tdefaultproperty1.TNamedObj.Name}:='';
32   Self[I].Name{declaration:tdefaultproperty1.TNamedObj.Name}:='';
33 end;
34 
35 end.
36 
37