Advertisement
Guest User

Event registry prevents object recycling

a guest
Jun 7th, 2019
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 1.20 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Report ZZ_TEST_OBJ_EVT_LIFESPAN
  3. *&---------------------------------------------------------------------*
  4. *&
  5. *&---------------------------------------------------------------------*
  6. REPORT ZZ_TEST_OBJ_EVT_LIFESPAN.
  7.  
  8. class a definition.
  9.   public section.
  10.     events: e.
  11.     methods: raise.
  12. endclass.
  13.  
  14. class b definition.
  15.   public section.
  16.     methods:
  17.       m for event e of a,
  18.       constructor,
  19.       deregister.
  20. endclass.
  21.  
  22. class a implementation.
  23.   method raise.
  24.     raise event e.
  25.   endmethod.
  26. endclass.
  27.  
  28. class b implementation.
  29.   method m.
  30.     write: / 'ibims'.
  31.   endmethod.
  32.   method deregister.
  33.     set handler m for all instances activation abap_false.
  34.   endmethod.
  35.   method constructor.
  36.     set handler m for all instances activation abap_true.
  37.   endmethod.
  38. endclass.
  39.  
  40. start-of-selection.
  41.   data(go_a) = new a( ).
  42.   perform start.
  43.  
  44. form start.
  45.   write: / 'Erster Aufruf'.
  46.   perform test.
  47.  
  48.   write: / 'Zweiter Aufruf'.
  49.   perform test.
  50. endform.
  51.  
  52. form test.
  53.   data(lo_b) = new b( ).
  54.   go_a->raise( ).
  55. *  lo_b->deregister( ). " Ist eben nicht automatisch bei Abbau der Referenzvariable LO_B
  56. endform.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement