tw15594b.pp 689 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. { %fail }
  2. program project1;
  3. {$mode objfpc}{$H+}
  4. type
  5. { TBoolObject }
  6. TBoolObject = class(TObject)
  7. private
  8. fBool: Boolean;
  9. procedure SetBool(const AValue: Boolean);
  10. protected
  11. function GetBool: Boolean;
  12. property Bool: Boolean read GetBool write SetBool default True;
  13. end;
  14. TSubBoolObject = class(TBoolObject)
  15. published
  16. property Bool default True;
  17. end;
  18. { TBoolObject }
  19. procedure TBoolObject.SetBool(const AValue: Boolean);
  20. begin
  21. fBool:=AValue;
  22. end;
  23. function TBoolObject.GetBool: Boolean;
  24. begin
  25. Result:=fBool;
  26. end;
  27. var
  28. b: TSubBoolObject;
  29. begin
  30. b:=TSubBoolObject.Create;
  31. b.Bool=False; // error: Illegal expression
  32. b.Free;
  33. end.