Version 5 (modified by jeroens, 9 years ago) (diff)

--

Best practices when coding EwE6

This page attempts to convey some of the oddities and nasties that we have ran into over the years when building EwE6.

Resources and localization

Theoretically, the EwE6 scientific interface can be localized to any language, although we do not envy the poor soul commissioned to perform such a job. In theory all language-specific elements are provided either in localizable forms or in localizable resource tables. The ScientificInterfaceShared assembly offers a whack of shared resources, such as strings and images, for plug-ins and the main Scientific Interface to share to reduce the amount of scattered resources that need localizing.

When you develop your own plug-ins with a user interface, please try to stick to the following resource guidelines:

  • Reuse as many of resources provided in ScientificInterfaceShared
  • Set the 'localizable' property of your plug-in's forms to True

Target processor

To date, Microsoft has not updated its Access drivers, the core drivers that EwE6 needs to use its database, to 64-bit. EwE6 and ANY EWE6 PLUG-IN must be compiled at ANY TIME for 32 bit processors. Set all applications to build for x86 processors via: Menu > Build > Configuration Manager > x86 (new if not listed). See image.

Nasty experiences

  • Issue #702: always override Dispose(bDisposing) to clean up controls, do not (smartly) use OnHandleDestroyed?.