ActiveX control problems

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

ActiveX control problems

Esteban A. Maringolo-3
Hello,

While trying to embed an ActiveX chart control into the ActiveX
Control Browser of Dolphin Smalltalk 5, the image crashes with the
error copied below.

The control is the Nevron 3DChart
<http://www.nevron.com/Charting.aspx?nav=ChartNav&content=Chart>

If I test the control inside of the Visual Studio ActiveX Control
Test Container it embeds with no problem, the same for VisualBasic6.

Apparently it causes a division by Zero. The walkback appears (and
many times), but I can't do any click on it, not allowing me to
debug it (or terminate it).

Any clues?

Best regards.


18:05:14, Miércoles, 08 de Junio de 2005: Unhandled exception - a
ZeroDivide('Division by zero of 1.99599999189377')

ProcessorScheduler>>fpException:
[] in ProcessorScheduler>>vmi:list:no:with:
BlockClosure>>ifCurtailed:
ProcessorScheduler>>vmi:list:no:with:
UserLibrary(ExternalLibrary)>>invalidCall
UserLibrary>>dispatchMessage:
InputState>>pumpMessage:
InputState>>loopWhile:
InputState>>mainLoop
[] in InputState>>forkMain
ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry
[] in ExceptionHandler(ExceptionHandlerAbstract)>>try:
BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
ExceptionHandler(ExceptionHandlerAbstract)>>try:
BlockClosure>>on:do:
[] in BlockClosure>>newProcess


Reply | Threaded
Open this post in threaded view
|

Re: ActiveX control problems

Aaron Wieland-3
Esteban A. Maringolo wrote:
> If I test the control inside of the Visual Studio ActiveX Control Test
> Container it embeds with no problem, the same for VisualBasic6.

I suspect you need to disable floating point exceptions using something
like:

Processor activeProcess fpeMask: (_EM_INEXACT | _EM_ZERODIVIDE |
_EM_INVALID | _EM_UNDERFLOW).

The constants are defined in the CRTConstants pool.  I had a similar
problem several years ago, and Chris Hayes proposed the workaround.  If
you aren't using DSDN yet, I highly recommend it; it's a good way to
find posts from the pre-comp.lang.smalltalk.dolphin days.

Cheers,
-- Aaron


Reply | Threaded
Open this post in threaded view
|

Re: ActiveX control problems

Esteban A. Maringolo-3
Hi Aaron,

Aaron Wieland escribió:
> Esteban A. Maringolo wrote:
>> If I test the control inside of the Visual Studio ActiveX Control Test
>> Container it embeds with no problem, the same for VisualBasic6.

> I suspect you need to disable floating point exceptions
 > using something like:
> Processor activeProcess fpeMask:
        _EM_INEXACT | _EM_ZERODIVIDE | _EM_INVALID | _EM_UNDERFLOW).

Great! it worked. :-D

> The constants are defined in the CRTConstants pool.  I had a similar
> problem several years ago, and Chris Hayes proposed the workaround.

Does this workaround needs to be rollback'ed after the use of the
control of this has no impact (on Dolphin or on everything outside
that uses the CRTLibrary).

 > If you aren't using DSDN yet, I highly recommend it;
 > it's a good way to find posts from the
 > pre-comp.lang.smalltalk.dolphin days.

Yeap, I have it. But didn't look there :-/

Best regards,

--
Esteban


Reply | Threaded
Open this post in threaded view
|

Re: ActiveX control problems

Aaron Wieland-3
Esteban A. Maringolo wrote:
> Does this workaround needs to be rollback'ed after the use of the
> control of this has no impact (on Dolphin or on everything outside that
> uses the CRTLibrary).

I'm not an expert on FP exceptions, but it should be safe to leave the
mask in place for most applications.  For example, Blair assured me that
the masking of underflow exceptions would allow the guilty values to be
treated as zero or nearly zero.

Cheers,
-- Aaron