tb0203.pp 1.3 KB

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