Masaki Suketa wrote:
 >  > one.GetHierarchy(nil,ON_CONST::HsPages,a_string)
 >
 >   one.GetHierarchy("",ON_CONST::HsPages,a_string)
 >

Or try to use WIN32OLE#_invoke method.
include WIN32OLE::VARIANT
one._invoke(dispid, ["", ON_ONST::HsPages, a_string],
                 [VT_BSTR, VT_I4, VT_BSTR|VT_BYREF])
The dispid should be dispatch id of GetHierarchy method.

  Regards,
  Masaki Suketa