ts010001.pp 826 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. { $OPT=-S2
  2. }
  3. type
  4. tmyclass = class of tmyobject;
  5. tmyobject = class
  6. end;
  7. { only a stupid test routine }
  8. function getanchestor(c : tclass) : tclass;
  9. var
  10. l : longint;
  11. begin
  12. getanchestor:=tobject;
  13. l:=l+1;
  14. end;
  15. var
  16. classref : tclass;
  17. myclassref : tmyclass;
  18. const
  19. constclassref1 : tclass = tobject;
  20. constclassref2 : tclass = nil;
  21. constclassref3 : tclass = tobject;
  22. begin
  23. { simple test }
  24. classref:=classref;
  25. { more difficult }
  26. classref:=myclassref;
  27. classref:=tobject;
  28. myclassref:=tmyobject;
  29. classref:=getanchestor(myclassref);
  30. if (constclassref1.classname<>'TOBJECT') or
  31. (constclassref2<>nil) or
  32. (myclassref.classname<>'TMYOBJECT') or
  33. (classref.classname<>'TOBJECT') then
  34. begin
  35. writeln('Error');
  36. halt(1);
  37. end;
  38. end.