The IDL HELP procedure displays information on all known structures or object classes when used with the STRUCTURES or OBJECTS keywords. Although this is usually the desired behavior, authors of large vertical applications or library routines may wish to prevent IDL from displaying information on structures or objects that are not part of their public interface, but which exist solely in support of the internal implementation. The STRUCT_HIDE procedure is used to mark such structures or objects as hidden. Items so marked are not displayed by HELP, /STRUCTURE unless the user sets the FULL keyword, but are otherwise unaltered.

Note: STRUCT_HIDE is primarily intended for use with named structures or objects. Although it can be safely used with anonymous structures, there is no visible benefit to doing so as anonymous structures are hidden by default.

Tip: Authors of objects will often place a call to STRUCT_HIDE in the _ _DEFINE procedure that defines the structure.


This example shows how a structure can be hidden if an application designer doesn’t want end-users to be able to see it, but variables are not hidden. To create a named structure called bullwinkle and prevent it from appearing in the HELP procedure’s default output, do the following.

; Define a variable containing the named structure:
tmp = { bullwinkle, moose:1, squirrel:0 }
; IDL returns BULLWINKLE in addition to the other system variables.
; Next, specifically hide the structure using
; the STRUCT_HIDE procedure.
; This time IDL returns the system variables but
; not the BULLWINKLE structure.
; IDL returns the variable tmp showing that it is
; a named structure called BULLWINKLE.
HELP, tmp


STRUCT_HIDE, Arg1 [, Arg2, ..., Argn]


Arg1, ..., Argn

If an argument is a variable of one of the following types, its underlying structure and/or object definition is marked as being hidden from the HELP procedure’s default output:

  • Structure
  • Pointer that refers to a heap variable of structure type
  • Object Reference

Any arguments that are not one of these types are quietly ignored. No change is made to the value of any argument.



Version History



See Also