On Mon, December 21, 2009 3:06 pm, Dan Bron wrote:
> Bill wrote:
>>  coclass 'oleheaderinfo'
>>  coinsert 'olepps'
>>
>>
>>  create=: 3 : 0
>>     ...
>>     extrabbdcount=: 0
>>     ...
>> )
>
>
> Some thoughts:
>
>   (A) The coclass actually does a cocurrent (18!:4) under the covers.
>       Everything defined below it in the script will be in the
> oleheaderinfo
>       locale until another coclass or cocurrent is executed.
>       What do you see when you type  nl_oleheaderinfo_ ''  in the session?
>       Are the rest of the definitions you expect listed?

Yes.

   nl_oleheaderinfo_ ''
┌──────┐
│create│
└──────┘

   $ nl_olestorage_ ''
28

So that's where the mystery definitions are hiding; I should have followed
that path.

>   (B)  The definitions following create=:  and preceding the corresponding
> )
>        are in the body of the verb create, and won't take place until
> create
>        is executed (e.g. by  conew'oleheaderinfo'  )  .  If that verb
> isn't

True.

>        terminated correctly (e.g. there are TABs or other garbage chars
>        following the terminating close paren), then everything below
>        the create=:  line in the script and before the next proper
>        close paren will be included in the body of that verb.  What
>        do you see when you type  create_oleheaderinfo_  in the session?
>        Are the rest of the definitions you expect listed?

All that looks okay, but you said the magic words to get it to work: there
needs to be a

coclass 'base'
before the run statement to find the run verb that's hiding in plain sight
in the base local.  Alternatively,

app_run_base_ '' works.

Thanks!  Now I know the rather simple workaround for this, although it
would be nice to document or fix it.

Now if I could only figure out the installer. :-)

Bill


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to