Fanning Software Consulting

Obtaining Field Information of Internal Objects

Facebook Twitter RSS Google+

QUESTION: I'm building an object that inherits the IDLitComponent object and I am running into name conflicts with the fields or tags in this internal IDL object. The documentation doesn't provide any information whatsoever about what fields are in the object, or how those fields are defined. Is this information available anywhere else?

ANSWER: Yes, the Help command (since IDL 8 was introduced, I believe) will allow you to obtain this information. You can use the command like this.

   IDL> Help, { IDLitComponent }
        ** Structure IDLITCOMPONENT, 14 tags, length=128, data length=122:
           IDLITCOMPONENT_TOP  LONG64            0
           IDLITCOMPONENTVERSION  INT            0
           DESCRIPTION     STRING    ''
           NAME            STRING    ''
           ICON            STRING    ''
           IDENTIFIER      STRING    ''
           HELP            STRING    ''
           TOOL            OBJREF    
           UVALUE          POINTER   
           _PARENT         OBJREF    
           _PROXY          OBJREF    
           _FLAGS          LONG                 0
           IDLITCOMPONENT_BOTTOM LONG64         0

Note this is possible in IDL versions prior to IDL 8, but you have to add the Structure keyword to the command like this.

   IDL> Help, { IDL_Container }, /Structure

Version of IDL used to prepare this article: IDL 8.2.3.

Written: 26 January 2014