1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- { %norun }
- unit terecs_u1;
- {$mode delphi}
- interface
- type
- HWND = integer;
- TFoo = record
- hWnd : HWND;
- private
- F1: Integer;
- F2: Byte;
- public
- type
- TBar = Integer;
- const
- C: TBar = 1;
- var
- F3: TBar;
- F4: Byte;
- class var
- F5: TBar;
- function Test(n: TBar): TBar;
- class function Test1(n: TBar): TBar; static;
- procedure Set3(const Value: TBar);
- class procedure Set5(const Value: TBar); static;
- property P3: TBar read F3 write Set3;
- class property P5: TBar read F5 write Set5;
- class constructor Create;
- class destructor Destroy;
- procedure Test2;
- procedure Test3;
- end;
- procedure Test4(AFoo: TFoo);
- implementation
- function TFoo.Test(n: TBar): TBar;
- begin
- Result := F3 + F4 + n;
- end;
- class function TFoo.Test1(n: TBar): TBar;
- begin
- Result := C + n;
- end;
- class constructor TFoo.Create;
- begin
- F5 := 6;
- end;
- class destructor TFoo.Destroy;
- begin
- WriteLn('TFoo.Destroy');
- end;
- procedure TFoo.Set3(const Value: TBar);
- begin
- F3 := Value;
- end;
- class procedure TFoo.Set5(const Value: TBar); static;
- begin
- F5 := Value;
- end;
- procedure TFoo.Test2;
- begin
- if Self.C <> 1 then
- halt(50);
- if Self.F3 <> 7 then
- halt(51);
- end;
- procedure TFoo.Test3;
- begin
- Test4(Self);
- end;
- procedure Test4(AFoo: TFoo);
- begin
- if AFoo.C <> 1 then
- halt(100);
- if AFoo.P3 <> 7 then
- halt(101);
- end;
- end.
|