Re: Detecting IDLDE or runtime [message #24345 is a reply to message #24344] |
Tue, 27 March 2001 03:16  |
Martin Schultz
Messages: 515 Registered: August 1997
|
Senior Member |
|
|
Oliver Smith wrote:
>
> Hi,
>
> The short question:
> Is there a way to detect if an IDL program is running in the development
> environment, or as a run-time .sav file?
>
> The !version system variable shows no differenece between IDLDE and runtime.
>
> The reason:
> I've written a fairly extensive project in IDL that will shortly be shipped
> to colleagues. I'd like them to have the option of using the runtime
> version saved as, 'CUSTARD.sav'. My program has the ability to detect user
> written plugins named 'plugin*.pro' located in an appropriate directory. The
> program searches for these files, then compiles and runs one using
> CALL_PROCEDURE.
>
> All works fine if the project is built and run in the IDL development
> environment, however, if the runtime version is used then, not surprisingly,
> CALL_PROCEDURE doesn't work (unless the particular plugin was included in
> the project at build time). I don't have a problem with this functionality
> of IDL, and I have a work around that includes a list of available plugins
> included in the save file at build time. The problem is detecting whether
> the software should look at this list, or search for additional plugins and
> try to use call_procedure.
>
> Cheers,
>
> Oliver
No idea about this, sorry. But couldn't you do something like this:
plugins = findfile(repository+'*.pro')
IF plugins NE '' THEN BEGIN
FOR i=0,N_Elements(plugins)-1 DO BEGIN
resolve_routine, plugins[i] ;; may need to determine if it is
a pro or function
print, 'Compiled routine '+plugins[i]
ENDFOR
ENDIF
Don't forget to install a CATCH error handler, though!
Cheers,
Martin
--
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ [[[[[[[
[[ Dr. Martin Schultz Max-Planck-Institut fuer Meteorologie [[
[[ Bundesstr. 55, 20146 Hamburg [[
[[ phone: +49 40 41173-308 [[
[[ fax: +49 40 41173-298 [[
[[ martin.schultz@dkrz.de [[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ [[[[[[[
|
|
|