Yes, you can also use AdxRtChain object to retrieve the constituents of an index chain.
I'm not sure which example you refer to, but I would expect you to receive an out of range exception if you try to access AdxRtChain.Data[0] because the enumeration returned by the Data property has a base of 1, not zero. In any case, if you're using Visual Studio you can easily examine the content within AdxRtChain.Data, and this should hopefully help you figure out how to extract the data from it.
You can use Dex2 COM library with the following parameters in RData object:
RData.InstrumentIDList = "Index(FT100)";
RData.FieldList = "TR.RIC";
For more details on using Dex2 COM library refer to the following tutorial:
Thanks. I see that I can get the constituents using AdxRtChain, however I cant seem to extract the data from AdxRtChain.Data after the OnUpdate is triggered? AdxRtChain.Data[0] doesn't return anything which is essentially what the vb example does.