tbs0288.pp 519 B

123456789101112131415161718192021222324252627282930313233343536
  1. {$mode objfpc}
  2. uses sysutils;
  3. const
  4. test_run : boolean = false;
  5. type
  6. zz=class(tobject)
  7. procedure test;virtual;
  8. procedure test1;virtual;
  9. end;
  10. procedure zz.test;
  11. begin
  12. writeln('ok');
  13. test_run:=true;
  14. end;
  15. procedure zz.test1;
  16. begin
  17. try
  18. raise exception.create('zz');
  19. except
  20. on e:exception do test;
  21. end;
  22. end;
  23. var
  24. z:zz;
  25. begin
  26. z:=zz.create;
  27. z.test1;
  28. z.destroy;
  29. if not test_run then
  30. begin
  31. Writeln('Problem with virtual method in except block');
  32. Halt(1);
  33. end;
  34. end.