tbs0239.pp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. {$mode delphi}
  2. uses
  3. {$ifdef go32v2}
  4. dpmiexcp,
  5. {$endif go32v2}
  6. sysutils;
  7. type
  8. ttest=class
  9. end;
  10. ttest2 = class(ttest)
  11. end;
  12. ttestclass=class of ttest;
  13. var
  14. i,j:ttest;
  15. tt:tclass;
  16. begin
  17. tt:=ttest;
  18. i:=ttest.create;
  19. j:=ttest2.create;
  20. Writeln('tt is a class of ttest initialized by "tt:=ttest"');
  21. Writeln('i is a ttest class initialized by "i:=ttest.create"');
  22. Writeln('j is a ttest class initialized by "j:=ttest2.create"');
  23. writeln('i is tobject ',i is tobject);
  24. if not(i is tobject) then
  25. Halt(1);
  26. writeln('i is tt ',i is tt);
  27. if not(i is tt) then
  28. Halt(1);
  29. writeln('i is ttest ',i is ttest);
  30. if not(i is ttest) then
  31. Halt(1);
  32. writeln('i is ttest2 ',i is ttest2);
  33. if (i is ttest2) then
  34. Halt(1);
  35. writeln('j is tobject ',j is tobject);
  36. if not(j is tobject) then
  37. Halt(1);
  38. writeln('j is tt ',j is tt);
  39. if not(j is tt) then
  40. Halt(1);
  41. writeln('j is ttest ',j is ttest);
  42. if not(j is ttest) then
  43. Halt(1);
  44. writeln('j is ttest2 ',j is ttest2);
  45. if not(j is ttest2) then
  46. Halt(1);
  47. end.