but in each of the tabs, a StringGrid is dynamically created too. The user has the option to add rows to the StringGrid - is there any way to reference which StringGrid to add rows to as being the StringGrid within the tab that's selected, and not the StringGrid in any other tabs?This is what the Tag property is good for. Assign the pointer to the StringGrid to the Tag of the TabSheet, and maybe assign the pointer to the TabSheet to the Tag of the StringGrid (or use the child-parent relationship to find a grid's TabSheet). And do a few type-casts so that the compiler accepts everything.