EcoModeler version 9.14
Eco4 and Visual Studio support
- EcoModeler now comes in two editions: Visual Studio editing as shipped by Capable Objects and the Delphi edition as shipped by ModelMaker Tools
- Eco4Modeler Visual Studio edition integrates with Visual Studio 2005/2008 through the Capable Objects Eco Visual Studio IDE addin.
- Eco4 support added. Project options allow changing between Eco3 and Eco4 mode. Eco3 mode is not available in Visual Studio edition.
- Eco4Modeler can merge existing Eco3 source into Eco4 source, but it can NOT merge existing Eco4 source back to to Eco3.
- "New project" allows selecting Eco3 or Eco4 project. C# Language mode (1 | 2) and Eco framework version (3 | 4) are auto adjusted.
New file extensions for EcoModeler projects
- EcoModeler uses new file extensions: *.mmeco (pascal edition) and *.mmcseco (C# edition). This discriminates EcoModeler projects from ModelMaker projects.
- Before opening existing models the extension has to be changed!
Eco Specific changes
- Creating an association to a transient class, makes the association transient by default. Additionally, the association dialog verifies that a persistent association can only connect persistent classes.
- The name value editor as for example used to edit Constraints, now used Tab and Shift+Tab to navigate through cells.
- C# edition: before generating source, file access rights for all affected source files are checked. This avoids the model being partly generated if one file was (left) locked by another application.
- Attribute dialog: ticking Allow Null presets the initial value to <NULL>, unticking clears this again. For Eco4, ticking Allow Null also ticks "Generate as Nullable" which causes the type to be emitted as "type?" (C#) or "System.Nullable<type>" (Pascal)
- C#: User changed modifiers for the 2 Eco constructors in source code are maintained when regenerating source. You can now for example declare the constructors as "internal" rather than the default "public"
- Pascal: User changed method binding for auto generated property access methods (get_XYZ and set_XYZ) in source code are maintained when regenerating source. This allows declaring access methods as virtual and overriding them in a descendant.
Solved problems 9.12 b3213 (Eco specific)
- Pascal Edition: adding classes that would require re-sorting the class interfaces according to the class hierarchy in the the unit interface, could cause severe errors such as missing regions, missing class interfaces etc. Fixed.
Solved problems 9.05 b3117 (Eco specific)
- The Embed tagged value would be emitted for transient and derived association end points potentially causing problems for transient associations. Fixed.
Solved problems 9.03 b3067 (Eco specific)
- Pascal edition: in some cases method implementations for methods with Ocl bodies would not be generated. Fixed.
Solved problems 9.03 b3061 (Eco specific)
- Pascal: Long, multi-line Ocl expressions would generate invalid source code. Solved.
- C#: class visibility was ignored during code generation - instead public visibility was enforced. Solved.
- Ocl Editor: bug solved in parameter handling.

