home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / e / amigae30a_fr.lha / AmigaE30f / Sources / Tools / Boopsi / Boopsi.e
Encoding:
Text File  |  1994-10-06  |  717 b   |  22 lines

  1. OPT MODULE
  2.  
  3. MODULE 'intuition/classes', 'utility/hooks', 'intuition/classusr'
  4.  
  5. /* exemple d'appel: domethod(myobj,[METHODID,...]) */
  6.  
  7. EXPORT PROC domethod(obj:PTR TO object,msg:PTR TO msg)
  8.   DEF h:PTR TO hook,o:PTR TO object,dispatcher
  9.   IF obj
  10.     o:=obj-SIZEOF object     /* données actuels est en offset négatif */
  11.     h:=o.class
  12.     dispatcher:=h.entry      /* prend le dispatcher du hook dans iclass */
  13.     MOVE.L h,A0
  14.     MOVE.L msg,A1
  15.     MOVE.L obj,A2            /* devrait peut être utiliser CallHookPkt, mais */
  16.     MOVE.L dispatcher,A3     /* le code original (DoMethodA()) ne le faisait pas. */
  17.     JSR (A3)                 /* appelle classDispatcher() */
  18.     MOVE.L D0,o
  19.     RETURN o
  20.   ENDIF
  21. ENDPROC NIL
  22.