Tim, If you are doing what Rao said, and if ::save() is a method of a TData or TRecord subclass, then you should not be making user interface code as part of the subclass, but rather passing the data object to the UI code. Remember that data objects should be models ...