[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Detecting IDLDE or runtime



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[0] 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                                        [[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[