tb0203.pp 1.2 KB

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