loRetVal = NEWOBJECT("Label") loRetVal.ADDPROPERTY("DoublesFound",.F.) loRetVal.ADDPROPERTY("aBatches[1,3]",.F.) * lnNumberOfBatches = THIS.TicketsDisplay.NumberOfTickets * LOCAL loBatchTest FOR EACH loBatchTest IN THIS.TicketsDisplay.Controls loBatchTest.CheckBatches(loRetVal) ENDFOR * IF loRetVal.DoublesFound = .T. RETURN .F. ENDIF * * lnNumberOfBatches = THIS.TicketsDisplay.NumberOfTickets * FOR lnNr = lnNumberOfBatches TO 1 STEP -1 * loBatch = THIS.TicketsDisplay.Controls[lnNr] loBatch.DoCreateCertificate(lnBatchNr) THIS.TicketsDisplay.REMOVEOBJECT(loBatch.NAME) * ENDFORWhen I test this code, I first let the CheckBatches() fail and return .F., the second time I go all the way and it removes the container objects successfully, but after that I cannot close the form anymore. I do not have any object references in the container objects.