1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
unit fdt_basic;
{$mode objfpc}{$H+}
interface
uses
Classes{declaration:Classes}, SysUtils;
type
TMyClass2 = class;
{ TMyClass1 }
TMyClass1 = class
private
function GetItems(Index: Integer): TComponent;
public
constructor Create{declaration:System.TObject.Create};
procedure DefaultHandler{declaration:System.TObject.DefaultHandler}(var message); override;
property Items[Index: Integer]: TComponent read GetItems; default;
end;
{ TMyClass2 }
TMyClass2 = class(TMyClass1{declaration:fdt_basic.TMyClass1})
public
procedure DefaultHandler(var message); override;
end;
var
InstanceA: TMyClass2{declaration:fdt_basic.TMyClass2};
implementation
{ TMyClass1 }
function TMyClass1.GetItems(Index: Integer): TComponent;
begin
if Index=0 then ;
Result:=nil;
end;
constructor TMyClass1{declaration:fdt_basic.TMyClass1}.Create{declaration:fdt_basic.TMyClass1.Create};
begin
Self.Items{declaration:fdt_basic.TMyClass1.Items}[0].Name{declaration:Classes.TComponent.Name}:='';
Self[0].Name{declaration:Classes.TComponent.Name}:='';
end;
procedure TMyClass1.DefaultHandler(var message);
begin
inherited DefaultHandler{declaration:System.TObject.DefaultHandler}(
message{declaration:TMyClass1.DefaultHandler.message});
end;
{ TMyClass2 }
procedure TMyClass2.DefaultHandler(var message);
begin
inherited DefaultHandler{declaration:fdt_basic.TMyClass1.DefaultHandler}(message);
end;
initialization
InstanceA{declaration:fdt_basic.InstanceA}:=TMyClass2{declaration:fdt_basic.TMyClass2}.Create{declaration:fdt_basic.TMyClass1.Create};
end.
|