#if "03.00.00.0" $ version() # define hidden protected #endif #define HIDE_EXTRANEOUS_CUSTOM_PROPERTIES ; hidden baseclass, controlcount, controls, height, helpcontextid, left, name; , objects, parent, parentclass, picture, tag, top, whatsthishelpid, width * ... define class CFoo as custom HIDE_EXTRANEOUS_CUSTOM_PROPERTIES c_ThisProp = "meow" c_ThatProp = "purr" * ... enddefineOf course, the class itself still sees the extra stuff so the proper solution (post-3.0 Foxen only) would be to introduce a new CCleanCustom base class whose only purpose is to extinguish the extra properties, and to derive the custom classes from that. You also might want to spare .Parent and .Name if you .AddObject instances of your class to others and want the object to be able to detach itself via this.Parent.RemoveObject(this.Name).