You don't point to an Array object (as in a native JScript array), you use DataBlocs like you would for any other type.
e.g. for your TASKDIALOG_BUTTON array you would create a DataBloc the size of one item (8 bytes I think) times however many buttons there are.
Maybe a bit more complicated within that huge struct though or not, it's a pointer, not inline like I thought. Just create a seperate DataBloc for the array and write the .DataPtr into the main struct.