Re: Large widget identifiers [message #33169] |
Fri, 13 December 2002 11:11  |
Rick Towler
Messages: 821 Registered: August 1998
|
Senior Member |
|
|
"Ian Dean" <Ian.d.dean@baesystems.com> wrote
I see the same problem in IDL 5.4-5.6 on win2k sp-3. This seems to be
limited to Win2k and WinXP right now but I suspect that it affects all
versions and Bill didn't notice the "bug" in your initial test code.
Somewhere someone at RSI must have defined an uint instead of a long...
I would report this to RSI if you haven't already.
I think there is little you can do beyond restarting your application every
few days and waiting for 5.7. Who knows, maybe they'll release 5.6.1?
-Rick
> Hi,
> Has anyone come across widget IDs "wrapping" when they reach a short
int
> limit (65535)?
>
> We have a run-time IDL program that is running continuously for
days/weeks.
> During this time several runs of data are processed. Each run requires
> approximately 400 widgets. However, without wishing to exit the software,
> the runs are performed within one program.
>
> The problem occurrs when the widget ID reaches 65535, the next widget to
be
> created is 0, not 65536. This looks like a short int problem, but IDs are
> supposed to be long int.
>
> Is there a way under program control to reset the widget ID back to 1 at
the
> beginning of a run?
> I realise using the development environment .reset achieves this, but that
> cannot be used in a running program.
>
> This occurrs on IDL PC versions 5.2-5.5. However, it does not happen on
> OpenVMS versions.
>
> The following lines will cause the error to occur:-
>
> FOR J=0L, 50000L DO BEGIN
> Base=WIDGET_BASE()
> WIDGET_CONTROL, Base, /DESTROY
> ENDFOR
>
> Any suggestions would be welcome
> Regards,
> Ian
>
>
|
|
|