Re: Resolve iTools for Virtual Machine [message #36910 is a reply to message #36909] |
Mon, 03 November 2003 12:30   |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
opa_rumple writes:
> I have written a postprocessor for my code, which is handling the
> brwosing through the data set and display them.
> Before I had two inconveniences:
> 1) I had to write a lot to make the postprocessor user friendly
> (changing color, labels etc.)
> 2) Users of my code had to pay for IDL although they are just using my
> postprocessor.
>
> With the arrival of IDL 6 and the features of iTool and Virtual
> Machine I though my problems are solved, but so far I couldn't create
> a working ".sav" file. The problem is that itools use some runtime
> dependencies, which cannot be resolved with the resolve_all command.
Oh, oh. Whoops!
I wrote a little file (see below) to compile all the object programs
in the iTools directory, but I still couldn't get my little example
program to run as a run-time or Virtual Machine program.
I finally got it to work (I think, I haven't tested this much)
by running my ITOOLS_SETUP program, compiling my TEST_ITOOLS
program, actually *running* my TEST_ITOOLS program, then
typing RESOLVE_ALL and saving the routines in a save file.
IDL> itools_setup
IDL> .compile test_itools
IDL> test_itools
IDL> Resolve_All
IDL> Save, File='test_itools.sav', /Routines
Maybe the good folks at RSI will let us know what we are
missing here. :-)
Cheers,
David
;*********************************************
PRO Test_ITools
image = Loaddata(7)
iimage, image
END
;*********************************************
;*********************************************
PRO iTools_Setup
componentDir = !Dir + Path_Sep() + 'lib' $
+ Path_Sep() + 'itools' + Path_Sep() + 'components'
frameworkDir = !Dir + Path_Sep() + 'lib' + Path_Sep() $
+ 'itools' + Path_Sep() + 'framework'
widgetsDir = !Dir + Path_Sep() + 'lib' + Path_Sep() $
+ 'itools' + Path_Sep() + 'ui_widgets'
CD, componentDir, Current=thisDir
files = File_Search('*__define.pro', count=count)
IF count GT 0 THEN BEGIN
FOR j=0,count-1 DO BEGIN
file = files[j]
len = StrLen(file)
file = StrMid(file, 0, len-4)
Resolve_Routine, file, /Either, /Compile_Full_File
ENDFOR
ENDIF
CD, frameworkDir
files = File_Search('*__define.pro', count=count)
IF count GT 0 THEN BEGIN
FOR j=0,count-1 DO BEGIN
file = files[j]
len = StrLen(file)
file = StrMid(file, 0, len-4)
Resolve_Routine, file, /Either, /Compile_Full_File
ENDFOR
ENDIF
CD, widgetsDir
files = File_Search('*__define.pro', count=count)
IF count GT 0 THEN BEGIN
FOR j=0,count-1 DO BEGIN
file = files[j]
len = StrLen(file)
file = StrMid(file, 0, len-4)
Resolve_Routine, file, /Either, /Compile_Full_File
ENDFOR
ENDIF
CD, thisDir
END
;*********************************************
--
David W. Fanning, Ph.D.
Fanning Software Consulting, Inc.
Phone: 970-221-0438, E-mail: david@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
|
|
|