comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: problem with program code area full in VMS IDL 4.0.1
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: problem with program code area full in VMS IDL 4.0.1 [message #9595] Fri, 25 July 1997 00:00 Go to previous message
Stein Vidar Hagfors H is currently offline  Stein Vidar Hagfors H
Messages: 32
Registered: May 1997
Member
David Fanning wrote:
>
> Martha Kusterer writes:
>
>> Can anyone help me?
>>
>> I am running in IDL 4.0.1 on VMS and I am now getting program code area
>> full error. I split the subroutine up into little moduals but it still
>> gets the error. The whole program is a GUI to display satellite data and
>> is quite complicated. From the IDL user documentation I don't get enough
>> information to allow me to figure out what else to do. Does anyone have
>> any ideas on this topic.
>>
>> I also tried the .SIZE command to enlarge the program data area and it
>> doesn't seem to work. I realize that in IDL 5.0 this will no longer be a
>> problem but we are limlited by our operating systme and I don't know
>> when we will be able to update to it.
>
> If you split the subroutine up into little moduals and it still
> doesn't compile, then my guess is that something else is wrong.
> Here is what I have seen happen from time to time, especially with
> widget programs. And particularly in IDL 5, where it is difficult
> to tell if there is a problem in a widget module.

The following command also generates "% Program code area full" errors:

IDL> dummy = execute(too_long_string)

(where the "too_long_string" is a syntactically correct, but simply too
long
command string)

Some times programs are written to construct complicated statements to
be
executed by the execute() function, and when users come along and use
the
programs for more complicated scenarios, it breaks down like this.

So, look for "execute(..)"-statements in the code, and try inserting
e.g.,

print,"Before exec"
.... = execute(....)
print,"After exec"

at all those places, and then recompile. If the output is

Before exec
% Program code area full
After exec

then you've found the cause. Now, simply rewrite the offending code :-)

(A hint: Often, such execute statements are used to make anonymous
structures with variable number/names of tags - nowadays the routine
create_struct may be used to do this. I think the create_struct
was introduced in IDL after e.g., version 3.0, and prior to that one
had to use execute-statements...)

Stein Vidar
[Message index]
 
Read Message
Read Message
Previous Topic: Re: Converting data
Next Topic: Re: how to do bitwise operation in IDL???

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 18:34:07 PDT 2025

Total time taken to generate the page: 2.39911 seconds