# Accessing Members in the Dynstruct > [HTML Version](accessingmembers.htm) This example continues from the previous one in which we retrieved the layout of the dynstruct ST\_TEST into a flddefs() array, and then created a simple array, fnames\$(), of member names. Here we’ll bind the defined dynstruct to a dynstruct variable, make assignments to members via the Simple Indirect syntax, and then retrieve members using the Indirect Deferred syntax with the help of the fnames\$() array. map1 status,i,4 \! status variable map1 dstest, dynstruct \! dynstruct variable map1 fields,i,4 \! # fields (see previous example) map1 i,i,2 \! loop variable dimx flddefs(10),ST\_FLDDEF \! array of field info (see prev example) dimx fnames\$(0), T\_MAX\_DYNAME, auto\_extend \! array of field names (see prev) status = Fn'Dynst'Bind("ST\_TEST", dstest) \! bind ST\_TEST Dynstruct to dstest if status = 0 then \! success \! samples assignments using simple indirect syntax dstest.sku = "SKU12345" dstest.qty = 2 dstest.price.retail = 1.99 dstest.notes(1) = "steal this product" dstest.notes(2) = "and live in infamy" \! sample retrieval/display using indirect deferred syntax for i = 1 to fields ? dstest.@fnames\$(i) \! warning: see notes below next i endif Although the indirect deferred system is very convenient and indeed essential if the goal is to write totally generic code without any hard-coded references to specific dynamic structure members, there are a couple of complications which need to be considered when iterating through the fields by name; see the subtopics noted below. **Subtopics** - [Multi-level field structures](multi-levelfieldstructures.htm.md) - [Array members](arraymembers.htm.md)