tw6922.pp 452 B

1234567891011121314151617181920212223242526272829303132333435
  1. { %fail }
  2. {$ifdef fpc}{$mode objfpc}{$H+}{$endif}
  3. uses uw6922;
  4. type
  5. { TC }
  6. TC=class(TA)
  7. public
  8. procedure Test;
  9. end;
  10. { TC }
  11. procedure TC.Test;
  12. var
  13. B: TB;
  14. begin
  15. T := 'Test1'; // allowed, because it is a descendant
  16. B := TB.Create;
  17. B.T := 'Test2'; // should not be allowed
  18. writeln(B.T);
  19. B.Free;
  20. end;
  21. var
  22. c: TC;
  23. begin
  24. c := TC.Create;
  25. c.T := 'Test3'; // allowed, because it is in the same 'unit'
  26. c.Test;
  27. c.Free;
  28. end.