HP3000-L Archives

May 1996, Week 2

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Fri, 10 May 1996 14:31:09 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (32 lines)
> The routine you would enable a trap for is "nmtw_fs_stub" in XL.PUB.SYS.  This
 
Yes, that's the procedure I was trapping.
 
Barry's example shows the magic code numbers for the various intrinsics...
the only place I know to find that information (without reverse
engineering)!
 
...
>   PC_DBOPEN           = 401;
...
>   PC_DBXUNDO          = 422;
 
...
>         PC_DBUPDATE:
>           begin
>           {  Perform any processing before the call here.  }
>
>             nmtw_fs_stub (cm_parm_area^.cm_global_addr,
>                           cm_parm_area^.q,
>                           cm_parm_area^.db);
 
I like the clever use of simply calling nmtw_fs_stub again, instead of
a dynamic call to, say, DBUPDATE.  This works because AIF:PE won't
re-intercept nmtw_fs_stub with your interceptor, and has the added
advantage that a return with "STUB OUT" set to true won't have bypassed
other interceptors (because the nested call triggered them!).
 
--
Stan Sieler                                          [log in to unmask]
                                     http://www.allegro.com/sieler.html

ATOM RSS1 RSS2