Use an alternative and arguably simpler (at least with real-life applications, where settings are somewhat more complex) way of handling the differences between platforms in the preferences sample: instead of executing completely different code under different platforms, always update the local copy of the settings immediately and just propagate, or not, it to the application-level settings depending on the current platform. This costs an extra copy of the settings object on each change, but this shouldn't be a problem in practice, and OTOH results in using mostly the same code under all platforms, reducing the probability of platform-specific bugs and avoiding any code duplication between the event handlers and TransferDataFromWindow().
9.3 KiB
9.3 KiB