New features in ModelMaker 8.05
Delphi 2005 syntax support
- Delphi support on the Properties|Pascal|Parsing tab now be set to
- Delphi 7 Win32
- Delphi 2005 Win32 (new)
- Delphi .NET
Refactoring
- Changes to the Module String Conversion Wizard as invoked from the main Tools|Scan and Convert Strings menu.
- Module String Conversion Wizard uses a regular expression to filter lines when extracting strings. Check Environment Options|Resource strings tab for details.
- Module String Conversion Wizard uses a regular expression to filter strings when extracting strings. Check Environment Options|Resource strings tab for details.
- In addition to converting a string to resourcestring or const , the Module Resource string wizard can mark a string as unlocalized. It does this by appending a user definable // comment to the line containing the string - defaults to // do not localize
- Module String Conversion Wizard is now case-sensitive and treats 'Hello' and 'hello' as two different strings.
- Add Local Var improved: new vars are appended after the last existing var in the last var section. If no var section exists, the var section is added after all local procedures, type declarations, consts, labels etc. Also, you'll get a warning when adding a variable that already exists. Similar logic applies to Add Explaining Var.
- Surround With Template predefines macro . This expands to the selected text or the identifer at cursor position.
- Surround With Template allows using user macros in templates. When applying the template you'll be prompted for values. For example: .Create();When applied, you'll be prompted for values for class and params
- Parameter Wizard: a button next to the parameters edit on method, delegate (event type) and procedure dialogs invokes the parameter wizard. This wizard is a list based editor to add, edit, delete and rearrange (move) parameters. Inside the dialogs keyboard shortcut Ctrl+P invokes the wizard.
Code Import
- The Importer compresses duplicate white space parameter lists. procedure Test( Param1 : Integer ; Param2 : string);
// is compressed to
procedure Test( Param1 : Integer ; Param2 : string);
Diagrams
- Class Symbols allow suppressing property access methods. Particularly useful for suppressing property access methods in interfaces where filtering on visibility is not possible. Controlled by an option in the class symbol dialog. Defaults can be defined at project and diagram level.
- Class symbol member compartments use a customizable different background color for Derived properties (Bold / Eco). Check Visual style, defaults to light blue.
- Class symbol member compartments use a customizable different background color for Transient properties (Bold / Eco). Check Visual style, defaults to light orange.
- Annotations auto size height can be disabled. This allows stretching the symbol.
- An Association Class can defined for (Shared) Class Associations. The association class can be defined / removed in the association dialog or visually using an Association Class Relation. Drawing an Association Class Relation between a class and an class association defines the class as association class. An Add Association Class Relation tool has been added to the class diagram editor toolbar
- Recurrent Class Associations can be painted using Bezier (default) or rectangular style. Controlled with an option on the Class Association dialog.
- Class Associations can be displayed in the Members view: check Members View
- A "Delete Symbol and Linked Entity" command has been added to the Diagram Editor popup sub menu "Edit". This behaves similar as the "Delete Symbol and Linked Entity" from the Diagram Editor toolbar: (after confirmation) it deletes the entity linked to the focused symbol and the symbol itself. Multiple selection is not supported.
- Clickable member compartments: Members displayed in Class, Package and Custom Classifier symbol compartments can be edited by double clicking the member. Single clicking selects the correponding member. Custom compartment captions and members can be renamed by double clicking them. Members can be renamed using F2 or the popup menu. Rename by clicking the member twice (not double) is not supported.
- After creating or visualizing a class or unit (package) in the diagram editor, relations with other classes and packages on the diagram are visualized.
Method Implementation View
- Add Field | Method | Property | Event buttons in toolbar add a member using the word at editor cursor as default name. Shortcuts are similar as the ModelMaker Code Explorer defaults: Ctrl+Alt+F/M/P
- Add Parameter and Parameter Wizard available from toolbar. Similar to Parameter Wizard as invoked from Method Dialog.
Members View
- Members View optionally displays Class Associations connected to the current class. Operations on the Associations include Edit and Delete. To enable displaying Associations, use the Members View properties dialog: pop up menu "Properties|Members View...".
- Whenever access is changed in the Property Editor dialog, the read / write code options are preset according to the preferences (Project Options| Coding Style).
Difference view
- Font styles and colors for difference elements can be adjusted in Environment Options|Difference tab
Solved problems
- Importing new source could insert standard properties accessor code - depending on settings in Preferences. Solved.
- The "Collect TODO items from code" design critic would cause an unspecified Catastrophic Failure for parsing errors such as unterminated strings and comments. Critic now continues with next line / method.
- Copy/Pasting a property would temporarily show members in the wrong order in the member list. Renaming or re-loading would solve this. Solved.
- The Diagram Editor's multi line inplace editor as used for annotations, would do an implicit cancel on loosing focus. This shoudl be an implicit commit, just like the single line inplace editor. Solved.
- Refresh importing properties could in certain cases result in wrong or undefined accessors. Solved.


Code generation basics