Using LINKIMAGE with IDL 4.0.1 runtime license [message #9729] |
Tue, 05 August 1997 00:00  |
Karl Krieger
Messages: 8 Registered: April 1995
|
Junior Member |
|
|
The subject says it all. Has anybody successfully used LINKIMAGE
with a runtime license? I have no problems to link external
routines with the full version of IDL.
If I start the respective program with the runtime version of
IDL (version 4.0.1 BTW), it complains that the routines are not
available so I guess LINKIMAGE does not what it's supposed to do.
I suspect that it has to do with the different calling procedures
for full version and runtime version.
In the full version, I start my program with
"idl startscript"
where startscript contains the IDL commands to start the
precompiled program:
linkimage, ...
restore,"program.sav"
start_prog
For the runtime version, this is not possible. In that case you have
to include a "main" procedure in the program save file, which is used
by the runtime version to start the program (idl -rt="program.sav"):
PRO main
linkimage, ...
start_prog
END
The natural way to access the external routines in this case
is to include the linkimage calls in the "main" routine.
Unfortunately, this doesn't work with the runtime version of IDL
and neither with the full version.
Apparently linkimage has to be used from the top level command
line and can't be used in subroutines. Any idea how to
circumvent this with IDL runtime?
Karl
--
IPP, PO Box 1533 | Phone: +49-89-3299-1655 | E-Mail:
D-85740 Garching | FAX : +49-89-3299-1149 | krieger@ipp.mpg.de
|
|
|
Re: Using LINKIMAGE with IDL 4.0.1 runtime license [message #9779 is a reply to message #9729] |
Mon, 11 August 1997 00:00  |
Peter Mason
Messages: 145 Registered: June 1996
|
Senior Member |
|
|
On Tue, 5 Aug 1997, Karl Krieger wrote:
> The subject says it all. Has anybody successfully used LINKIMAGE
> with a runtime license?
<cut>
> For the runtime version, this is not possible. In that case you have
> to include a "main" procedure in the program save file, which is used
> by the runtime version to start the program (idl -rt="program.sav"):
> PRO main
> linkimage, ...
> start_prog
> END
> The natural way to access the external routines in this case
> is to include the linkimage calls in the "main" routine.
> Unfortunately, this doesn't work with the runtime version of IDL
> and neither with the full version.
You're almost there, I think.
I don't actually use Linkimage myself, but a colleague of mine in Perth
does. He got the following solution from RSI for using Linkimage with
runtime IDL:
In order to use linkimage routines they must be defined in main. Also, all
routines using these routines must be restored from a *separate* save file,
within the main procedure.
(I think that you still have to implement the second part of this, which will
just mean having a little .sav file for your MAIN routine and a second one for
the bulk of your application.)
e.g.,
pro main
linkimage, ...
linkimage, ...
restore,/routines,file='myapplication.sav'
start_prog
end
Peter Mason
|
|
|