Why do I need to change the version number in the IMPLEMENT_SERIAL macro if I change the Serialize function in the record custom class?
Whether you need to increment the version number depends on the type of change you make. For example, if you add a calculated field in the record class and you add the code to calculate this new variable from the values that you read in the variables from the CArchive object, you don’t really need to increment the version number because the variables and order of the variables that you are writing to and reading from the archive didn’t change. However, if you add a new field to the record class and add the new field into the I/O stream being written to and read from the CArchive object, what you are writing to and reading from the archive will have changed, and you do need to increment the version number. If you don’t increment the version number, reading files created using the previous version of your application will result in an “Unexpected File Format” message instead of the file being read. Once you increment the version number and you read a file written with the old version num