>>
APLDN Home

>>
Events

>>
Trainings

>>
APL Books

>>
APLDN Links

>>
Discussion Groups

>>
Downloads

>>
Articles

>>
Library

>>
Learning Tools

>>
APLDN User IO

>>
APL2000.com




Bug Reports

Author Thread: Large ActiveX pointers, maybe?
davin.church
Large ActiveX pointers, maybe?
Posted: Wednesday, May 31, 2006 1:37 PM (EST)

I just ran across an odd situation, so I thought I'd mention it here and get some feedback on it.  I've already put in a workaround for this case, so it isn't urgent, but I didn't want it to go back into hiding if it really is a bug.  I haven't done any decent research on it either, so I don't have any test cases or anything, but maybe this report will help somehow.

 

Ok, I'm working at an old client's site where they're using APL v4.  I was working with an ActiveX control and got an event from it where it passed me an object pointer via []WARG..  Normally, I use this pointer directly as a left argument to []WI (to read some ActiveX properties), and most of the time it works fine.  However, in some situations I'm getting a DOMAIN ERROR back from []WI here.

 

So for testing purposes, I changed the code to do a []WI 'New' on the pointer and gave it a GUI name so I could play with it.  This works, much to my surprise (because the same pointer was failing before)!  Then when I referenced the same object & property using the new object name and everything worked fine!  (And yes, I made sure to do all my testing without dropping out into the session and invalidating the pointer.)  So I left this code in production and now it's not failing at all.

 

So, the only thing that I can think of is that the pointer that I found to have a problem was slightly bigger than 2*23.  Is it possible that large-valued ActiveX pointers don't (or didn't, in version 4) work properly as a left argument to []WI, but do/did work properly as the right argument to []WI 'New'?


Comments:

Author Thread:
Patrick.Parks
Large ActiveX pointers, maybe?
Posted: Wednesday, May 31, 2006 4:40 PM (EST)
Hi Davin. Nice catch. This IS indeed a bug and not one we have heard about before, so far as I know. Thanks for isolating it so carefully and describing it so clearly. The code is looking for numeric left argument but excludes type FLOAT and that is causing the error you reported. It will take my a lot less time to fix that you wasted figuring it out. Sorry about that! Pat

     

davin.church
Large ActiveX pointers, maybe?
Posted: Wednesday, May 31, 2006 9:25 PM (EST)
Excellent!  I'm glad it was easy to find and fix (and that I wasn't imagining things).

     



APL2000 Official Web Site

Make others happy and joyful. Your happiness will multiply a thousand fold.
--- Swami Sivananda

APLDN Home   |    |  Events   |  Trainings   |  APL Books   |  APLDN Links   |    |  Discussion Groups   |    |  Downloads   |  Articles   |  Library   |  Learning Tools   |  APLDN User IO   |  APL2000.com   |