Obtaining Field Information of Internal Objects
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 OBJREFUVALUE POINTER _PARENT OBJREF _PROXY OBJREF PROPERTYDESCRIPTORS 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.
Copyright ©
1996–2018 Fanning Software Consulting, Inc.
Written: 26 January 2014