IDL 8.0.1 ARG_PRESENT question [message #73697] |
Sun, 21 November 2010 09:15 |
David Groff
Messages: 3 Registered: November 2006
|
Junior Member |
|
|
I call a method named assign like so:
osrf->Assign, isrf[n], Debug=Debug
In the assign method I see the following:
PRO OSRF::Assign, $
new, $ ; Output
Debug=Debug ; Input keyword
; Set up
; ...OSRF parameters
@osrf_parameters
; ...Set up error handler
@osrf_pro_err_handler
; ...ALL *input* pointers must be associated
IF ( self->Associated(Debug=Debug) EQ FALSE ) THEN $
MESSAGE, 'Some or all input OSRF pointer members are NOT
associated.', $
NONAME=MsgSwitch, NOPRINT=MsgSwitch
; ...Return argument must be present
IF ( NOT ARG_PRESENT(new) ) THEN $
MESSAGE, 'No output object argument specified.', $
NONAME=MsgSwitch, NOPRINT=MsgSwitch
When I call the assign method as shown above I see the following error
message:
% WRITE_VIIRS_SRF: OSRF::LOAD_VIIRS: OSRF::ASSIGN: No output object
argument specified.
% Execution halted at: WRITE_VIIRS_SRF 10
/usr2/trunk_new/scripts/idl/oSRF/lib/osrf_pro_err_handler.pr o
% $MAIN$
Adding a STOP just before the line where I see" IF ( NOT
ARG_PRESENT(new) ) " in the assign method, I get the following from
the idl prompt:
IDL> help, new
NEW OBJREF = <ObjHeapVar2770(OSRF)>
Why does ARG_PRESENT(new) evaluate to FALSE?
Thanks for any help in advance.
|
|
|