Function RestoreScreen() Local laPossibles(1), lcName, lcType *-- this array may be defined somewhere else, or even in a lookup table laPossibles[1]="newProperty1" laPossibles[2]="newObject1" ** etc. For Each lcName In laPossibles lcType = Type("_screen."+lcName) Do Case Case lcType="U" ** do nothing - would normally put this at the end ** but the catchall of Otherwise is better for other types Case lcType="O" ** keep in mind that objects may have other things cleaned up ** for them - this is just the basic outline _screen.RemoveObject(lcName) Otherwise _screen.ResetToDefault(lcName) ** RemoveProperty(_screen, lcName) && only available in VFP8 EndCase EndFunc>Hello group,