1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- program tb0695;
- {$APPTYPE CONSOLE}
- {$IFDEF FPC}
- {$MODE OBJFPC}
- {$MODESWITCH ADVANCEDRECORDS}
- {$ENDIF}
- type
- TState = record
- strict private
- FState: LongWord;
- class operator Initialize({$IFDEF FPC}var{$ELSE}out{$ENDIF} Instance: TState);
- public
- property State: LongWord read FState;
- end;
- var
- initdone: Boolean = False;
- class operator TState.Initialize({$IFDEF FPC}var{$ELSE}out{$ENDIF} Instance: TState);
- begin
- Writeln('TState now being initialised');
- initdone := True;
- Instance.FState := 1;
- end;
- type
- TSys0 = class(TObject)
- FItem: TState;
- constructor Create;
- end;
- TSys = class(TSys0)
- //FItem2: TState;
- end;
- constructor TSys0.Create;
- begin
- inherited;
- Writeln(ClassName + ' now being created');
- Writeln('State=', FItem.State);
- end;
- var
- C: TSys;
- begin
- Writeln('Create instance of TSys...');
- C := TSys.Create;
- if not InitDone then
- Halt(1);
- C.Free;
- end.
|