loTestCollection = CREATEOBJECT('Collection') WITH loTestCollection as Collection .Add(newTestObject('Name_001', 'One'), 'Key_001') .Add(newTestObject('Name_002', 'Two'), 'Key_002') .Add(newTestObject('Name_003', 'Three'), 'Key_003') .Add(newTestObject('Name_004', 'Four'), 'Key_004') ENDWITH FOR EACH loTestObject IN loTestCollection WITH loTestObject ? .Class, .Name, .Value ENDWITH ENDFOR FUNCTION newTestObject(tcName, tcValue) LOCAL loTest loTest = CREATEOBJECT('Empty') ADDPROPERTY(loTest, 'Class', 'TestObject') ADDPROPERTY(loTest, 'Name', tcName) ADDPROPERTY(loTest, 'Value', tcValue) RETURN loTest