Morfik Pioneers Release 0.9.16.1

February, 2007

This release includes a comprehensive list of bug fixes as well as improvements to the code editor, data grid, Intellisense and MorfikDoc, to name a few.


add-new32.png What's New in Morfik 0.9.16.1

Recommendations & Notes

  1. AS WITH ALL SOFTWARE UPGRADES, IT IS HIGHLY RECOMMENDED THAT YOU MAKE A FULL BACKUP OF YOUR PROJECT BEFORE LOADING AND COMPILING IT WITH A NEW VERSION OF THE APPSBUILDER.
  2. Uninstall previous versions of the AppsBuilder before installing this release as the database engine in this release has been updated to the latest official release of Firebird 2.0.
  3. Before compiling each of your projects, remove the ‘_ProjectNameBuild’ folder that is automatically generated in each project folder.
  4. Note that you do not need to copy your existing license across because this version comes with a built-in license.


Required code changes to existing XApp Projects

  1. You may have to update some of the DOM objects that have used in your code due to the major overhaul of the SystemDOM and SystemDomHTML framework modules. If you are using TDOMEvent then you will need to add (import) SystemDOM in the module. A list of objects that are commonly used in the XApp source codes with their new names are listed below.
    1. TDOMHtmlControl -> THTML_ElementExt
    2. TDOMHTMLObject -> THTML_Element
    3. Event.Target -> THTML_Element(Event.Target)
    4. Event.srcElement -> THTML_Element(Event.srcElement)
    5. (DOMSender.Wrapper) -> (THTML_ElementExt(DOMSender).Wrapper)
    6. TWebControl(DOMSender.Wrapper) -> TWebControl(THTML_ElementExt(DOMSender).Wrapper)
  2. All server-side SQL statements using CreateSQLCommand, DestroySQLCOmmand, CreateRecordSet or DestroyRecordSet, will need to be changed to include the default database connection (DefaultDBConnection) for these commands. For example,
    1. CreateRecordSet -> DefaultDBConnection.CreateRecordSet
  3. For every existing table in your projects (compiled with the earlier versions) you may be asked to recreate fields MFK$RICHFORMAT and MFK$GUID. Answer Yes to the questions.
  4. In some very old modules you may have to change ServerModule and BrowserModule reserved words to the Unit keyword and add the Interface keyword before the Type declaration.
  5. In the rare event of encountering irregular compilation errors whilst using the Computer Aided Coding features, such as ‘Internal Errors’, click on the “Clear Compilation Cache” option under the Project menu item and recompile the project.
  6. To resolve the issue with previously existing DateTime control that clicking on the date picker could display the following error message 'Invalid property value', then change the Font color property then 'clear compiler cache' (Project\Clear Compiler Cache) before running the project.
  7. If using the Src property of ImageAttrs, change it to Pic.
  8. It is not necessary to specify the ‘?cls=Res’ suffix to parameters when assigning resource repository images in your code. You may not see an image at run time if this parameter is set.
  9. The new version of the compiler in Morfik uses a much more rigorous grammar and may result in errors that the previous compiler did not pickup. For example:
    1. Properties and fields of an object must be defined before the methods of the object. ‘Unexpected Token’ error is displayed in the error list in the above case.
    2. External directive is now a metadata attribute and should change to the following: ['External=xxx'].

New Feature Highlights

  1. WSDL Files : The ability to consume and publish web services, with automatic creation of a WSDL file generated for every XApp. This is an ultimate method of publishing web services as no additional work is required.
  2. Service Connectors:
    1. Major upgrade to the WebOS data connectivity architecture.
    2. Support for Salesforce.com data connectivity and synchronization using Morfik Service connectors.
    3. External databases can be added to an existing project using the Service Connectors.
    4. New queries display service connection options to ensure data sources are from the same source
    5. Connection to External Firebird databases with a choice of a native connection or ODBC.
    6. Use of the system ODBC dialogs to obtain connection string. Redesign of the ODBC connectivity option.
  3. Computer Aided Coding (CAC):
    1. Code Navigation - Pressing the ctrl key while moving the mouse pointer over your code will highlight any identifier for which the IDE could take you to the corresponding definition. Clicking while holding the ctrl key will take you to the definition.
    2. Code completion.
    3. Identifier occurrences highlighting – will highlight all occurrences of an identifier where the current cursor is positioned within the current scope.
    4. Visual cues to help you identify when editing browser or server code.
    5. Code folding.
    6. Statement highlighting (needs to be enabled in ‘Preferences’).
    7. Automatic error reporting while coding is in progress. Code which the IDE identifies as potentially wrong gets underlined in red, in the same way as misspelled words are flagged in most word processors. Errors are, also, added to the Errors tab at the bottom of the IDE window. Keep an eye on the new Errors Tab in the list of debugging monitors.
    8. Inline help for classes and functions
  4. Computer Aided Documentation (MorfikDoc): This feature enables pop-up help to be included in code completion for classes and functions and comes with a spell checker. Preliminary content is available for SystemDOM, SystemDOMHTML and most of SystemUtilities.
  5. Control Adaptors: allows third-party controls to be plugged into the AppsBuilder and be used within an XApps. Some examples of plug-in controls currently included are from Zapatec, Yahoo and Dojo and they do not require a separate license.
  6. Scriptor: Allows the building of special JavaScript snippets to enhance the AJAX experience of an XApp. It comes with predefined support for Salesforce.com S-Control Objects, Yahoo Maps, Google Maps and Google Search.
  7. Morfik Framework: Developers can now access the Morfik Framework source code.

Other New Features

  1. Compiler
    1. Integration of the Free Pascal Compiler (FPC) within WebOS AppsBuilder to allow for compilation of XApps to permit multi-platform support, currently Windows and Linux.
    2. Support for Delphi 5, 6 and Delphi 7 in the Target Platform options.
    3. Support for two new data types: Big Integer, Fixed Decimal - with precision and scale factors.
    4. New meta-data tag to control JavaScript obfuscation
    5. Enhanced support for in-line JavaScript and linking-in external handwritten JavaScript code libraries.
  2. Morfik Framework
    1. New Run Time Library structure for the distribution of Morfik WebOS AppsBuilder.
    2. Major overhaul of the SystemDOM and SystemDOMHTML framework modules to fully comply with the new W3C standards.
    3. New Sendemail function allows sending multiple format emails from within an XApp.
    4. The HTTP, IMAP and POP3 protocols are now supported in Morfik, through the SystemInternetIndy module.
    5. New Popup dialog features using the standard Openform function. There are also a range of Parameters available to allow dialogs to open in modal form or to have different attributes.
    6. The PDF library has been rewritten so as to make it possible to distribute its source as part of Morfik Framework.
    7. Sleep () function added.
  3. Integrated Development Environment (IDE)
    1. A new color picker has now replaced the previous one and offers web colors as well as additional options to make the color selection/creation process easier.
    2. A new Resource Repository is available to allow developers to have one central repository to manage project resources such as images, css, flash or pdf files and any other documents used within the project. The Image Gallery does not exist anymore, as images are now managed within the Resource Repository.
    3. Automatic vertical and horizontal lining of controls on a form or report.
    4. Tools/Options changes. The Tabbed options under Tools/Options menu has now been divided into three different categories and under three different menu items. Project Options (under project menu item), Debugger Options (under Debugger menu item), Environment Options (under Tools)
    5. New search tab in the monitors. The search speed is improved significantly and the new search tab shows more details on the search result. Double clicking on a search result takes the developer to the highlighted search text in the source.
    6. An improved data grid in Morfik AppsBuilder to view records in Tables and Queries at design time.
    7. Document 'view state' is now saved. When opening the document next time the position of the cursor in both server and browser modules are remembered. The active module (server or browser) is also remembered.
    8. New icons and images are now added to the IDE and some of the existing icons have been updated.
    9. It is now possible to right click on a control in a Form and use ‘Snap to Grid’.
    10. Right clicking on a Report now shows the "Design Data Source" menu item to view the data source for the report.
    11. Improvement to the docking process in the AppsBuilder design environment. This will also allow group docking of the Object Inspector ##Explorer and the Object browser.
    12. Faster table load and table save at design time.
  4. Visual Documents and Controls
    1. Major updates to the Combobox control
      1. A parametric query may now be used as the LookupDataSource
      2. It is now possible to display a descriptive text in a Combo-box and store an associated non-descriptive value in a form data field. ### LookupTextField, LookupDataField properties can now be specified by choosing from a drop-down list of field names in the property sheet
      3. The default height and border style of the Combobox have been changed (this is to work around a bug in IE)
      4. The Combobox is now painted correctly at design time under both Windows Classic style and Windows XP Style
      5. Incorrect entries in a data bound Combobox when placed in a single form is fixed.
    2. Listbox control now included.
    3. Subform names are now more descriptive and allows a developer to identify the name of the subform and form that is placed within it.
    4. New Form wizard for the creation of sophisticated (Grid like) continuous forms
    5. A new Tool tips property is added for every control. The value in this property is displayed on the mouse over event of the control.
    6. When creating a new document (Table, Query, Form, Report, Web Methods and Modules) in design view, it is now possible to rename the default name.
  5. Database
    1. The bundled Firebird database engine is updated to the latest official release of version 2.0.
    2. Ability to choose an existing Firebird 2.0 on a system rather than having to use the default database engine in Morfik.
    3. Firebird reserved words are now allowed to be used as names for tables and fields.
    4. If Firebird is not running as a service at the time a project is opened, Morfik will automatically run Firebird as an application.
    5. Use of the system ODBC dialogs to obtain connection string and redesign of the ODBC connectivity option in import data wizards
  6. Web Services and Web Methods
    1. Macros have been superseded by Web Methods that enable you to create industry standard web services in addition to internal remote calls.
    2. It is now possible to consume (import) external Web Services in Morfik. Click on Project menu and select WebServices / Import ##WebServices to start the import wizard. There is also a new demo XApp under WebService directory that has three examples of consuming external web services.
    3. New conflict resolution methods for reserved words used in Table and Field names.
    4. Adding ability to select SSL Level3 for Web Services.
  7. Miscellaneous
    1. Support for iso-8859-1/windows-1252 character set. A new option is now added in the new project wizard which allows to select an appropriate character set for a project.
    2. New Browser History property for Forms. If set to false, the form does not add duplicate entries in the browser history. This stops multiple entries for a page if the form is set to refresh periodically.
    3. A new internal version tracking system for supporting backward and forward compatibility of project files.
    4. New improved and short URIs for Morfik XApps. Developers at design time can choose to have long or short URIs depending on the applications.
    5. New Sample projects to showcase some of the new features in this release
    6. New options in the Morfik installation process.
    7. Preliminary support for Safari browser.

Bug Fixes

  1. Compiler and Debugger
    1. Inability to use recursive calls (calling a method from itself) on browser side has been fixed.
    2. Issues relating to compiling a project as a Plug-in dll (using VP).
    3. "Cannot start debugger!" error message does not appear anymore when trying to preview a project when the Main Form option is not set correctly.
    4. Now possible to have non-dual Globals modules and compile a project without any compilation errors.
    5. Switching JavaScript optimization ON and OFF inconsistencies fixed.
    6. The breakpoints and search items line numbers are updated as a developer change the code in the code editor.
    7. Issues related to the debugger leaving behind the breakpoint red lines in the code editor fixed.
    8. Issues with accented parameter values in an OpenReport function not getting passed correctly to the server fixed.
    9. All showMessage calls are now redirected to DebugOut, which displays the text in the IDE Output Panel.
  2. Morfik Framework
    1. Optimization and improved algorithm in the system Array sorting and handling, String compare to handle local setting
    2. Setting parameters in an OpenForm function with Target parameter set to “Blank” is no longer problematic anymore.
    3. Calling SystemUtilities.AddMonth() does not causes a type mismatch error.
    4. Incorrect behavior in StrToDateTime function has been fixed.
    5. Functions DateTimeToString and StringToDateTime do not have consistent parameters order.
    6. The Timestamp (Now) functions in the browser and server modules have been made more consistent.
  3. Integrated Development Environment (IDE)
    1. The standard Ctrl-A "select all" shortcut now works for both the code editor, form editor/designer, and the SQL editor.
    2. Pressing F9 in the IDE now compiles and runs the XApp at design time.
    3. The hexadecimal value of the color property in the property sheet and Formatting tab of the Toolbox can now be edited manually from the property sheet.
    4. When right clicking on the details band of a form, the 'Align to grid' option only appears if a control is selected.
    5. Issues with the File/Open menu item to remember the location where it last opened a document and checking for the existence of a file to open fixed.
    6. Hotkey fixes and improvements:
      1. CTRL+O is now for File|Open
      2. Alt + D should show the Debug menu
    7. The issue that didn’t allow for an event to be recreated after it was deleted the first time fixed.
    8. Code editor Modified status is now cleared after the form is saved.
    9. The auto-insertion of stubs and handlers are more simplified. The property inspector has been updated with Check boxes instead of the True/False drop downs and ellipses have been placed next to each event to make the process more intuitive.
    10. Fuchsia and Aqua color presets are now correctly defined in SystemClasses framework module.
    11. The "List index out of bounds" error message that appeared due to a project not being saved at the time of closing is fixed.
    12. The Title field in the property inspector of a project can now contain single quote.
    13. Inability in previewing new forms on intermittent bases has been fixed.
    14. When copying and pasting a module from within the AppsBuilder design environment, the new module name is now reflected correctly in the server and browser modules.
    15. Corrected the order of the OK and Cancel buttons on the parameters editor window for forms.
    16. Attempting to copy a property value of a control or set of controls in the property window resulted in the copy of the selected controls themselves. This has been resolved and only the selected property is now copied.
    17. Type declaration code for objects is now always removed properly when deleted.
    18. The horizontal scrollbar in the code editor can now only show more than 257 character on one line.
    19. Errors were caused when closing projects while there are tables and queries still open. This has been resolved.
    20. The issue of the new line chars within the text, if the text is entered through the memo dialog in the Table data view fixed.
    21. Minor issues with running Morfik WebOS AppsBuilder in Windows Vista fixed.
    22. Issues with 'List Index Out of Bounds' error, when scrolling on property inspector window using the wheel fixed.
    23. Spelling mistakes and typos have been corrected through out the AppsBuilder design environment.
    24. Copy and Paste options for controls using the mouse right click in Forms or Reports have been reinstated.
    25. The Print menu item under File and the print icon work as expected for the code editor.
    26. In the Form designer, F2 function key now switches TextLabels to edit mode.
    27. Updated the Hotkeys to Reopen. This now shows a more accurate list of recently viewed files.
    28. Issues related to report containers that are set to Border Style of bsInset or bsOutSet have been fixed.
    29. The string property editor of object inspector (the Form with caption 'Edit Caption') is now anchored correctly.
    30. Clicking the Rules button in the form/ does not cause access violation error anymore.
    31. No intermittent Access violation error message is displayed when the previewed form has its banner/footer is set to hide.
    32. The DatetimeEdit and FileUploader controls, incorrectly, allowed other controls to be pasted within them. This issue has been resolved.
    33. Objects can now be pasted onto a form if a subform is already selected.
    34. Color selection dropdown in the properties window is not constrained by the width of the properties window anymore.
    35. The names for the most recently used items in the startup page can not be changed.
    36. It was not possible to right click on a cell in the Table Data view and use the new copy and paste options
    37. The Caret in a text editor now moves to the right position on Enter.
    38. Existing images in the resource repository can now be replaced with new images that have exactly the same names and the images are displayed correctly.
    39. Assigning the Picture property of an Image control in the server modules now works correctly.
    40. Passing the default value of parameters in a single form, using OpenForm function, does not display zero records anymore.
    41. The behavior of the Headers and Footers in Reports are now similar to Forms when they don’t contain any controls.
    42. Firefox incorrectly truncated memo fields longer than 4048 characters. This has been resolved.
    43. The content of a band in a form or report were copied even if 'only' the band was selected. This issue has been resolved.
    44. Adding/deleting components in form designer (or adding/deleting parameters in a web methods) do not change the cursor position in server or browser modules anymore.
    45. The incorrect behavior of property inspector when opening a project where in the previous project the property inspector was undocked and closed is fixed.
    46. The Redo option is now added to the code editor when mouse right button is clicked.
    47. FaultCode is now set when making a server-side call to a webmethod of another XApp
  4. Visual Documents and Controls
    1. Issues with Tabs appear out of order at runtime in the TabControl fixed.
    2. Form option was not set.
    3. Generating a data-bound PDF report that includes an image field no longer generates a run time error if record/s didn’t have an image value.
    4. Forms property of subform control does not list its owner form anymore.
    5. As a result of renaming a control in a form, the Combobox with the list of controls in the properties window is reset and displayed only one item. This issue has been fixed.
    6. Issues with SubReports and Page Breaks in Reports have been fixed.
    7. The following bugs to do with the DateTimeEdit controls have been resolved:
      1. The dfShort date format was not working; this has been replaced with two options, "Short DDMMYYYY" and "Short MMDDYYYY" which display the date in the DD/MM/YYYY and MM/DD/YYYY formats respectively
      2. The ShowCheckBox property is now working. Checking/unchecking the checkbox enable/disable the edit box.
      3. The state of the checkbox now correspond to the NULL/non-NULL state of the underlying DataField
      4. Today in the drop-down calendar is now always the expected correct date.
    8. Controls within a container control and bands are now locked if the container or the band itself is locked.
    9. Disabling a timer control does not remove an impending timer event resulting in an extra event being fired. The impending event is now removed.
    10. Next and Previous Page in the navigation bar for Continuous Forms, used as the main page, causes "Form "top" does not exist error message. This has been resolved.
    11. Issues related to displaying RecordCount for very large number of records within the navigator have been addressed.
    12. Forms containing Flash presentation would flicker while loading in Firefox; this has been fixed.
    13. Improvements made in form bands resizing methods.
    14. The picture property for a new image control is now set to blank.
    15. A scrollbar is now added to the string list editor, which allows adding of items to a Combobox.
    16. Record Navigator improvements and fixes:
      1. Issues related to repositioning and aligning the navigator as the form size changes has been resolved.
      2. Double clicking on the total records edit box on a navigator does not generate any error messages.
      3. Resolved issues related to Firefox browser displaying blank page if the Last page button on the navigator was clicked in a continuous form.
      4. New tool tip is displayed for all buttons within the Navigator.
      5. The Next and Previous page buttons now work at run time if the PageSize property for a single form is set to –1.
      6. Issues with the navigator buttons not being disabled correctly after the page are loaded for the second time is fixed.
      7. Not having the current page and page count in the navigation bar causes the form navigator to behave incorrectly. This is fixed
      8. The First and Last record buttons on the navigation bar now move to the absolute First and last records.
  5. Database
    1. Major fixes and updates to the native connectivity to external Firebird databases.
    2. Users with their own installation of Firebird were unable to use Morfik if the SYSDBA password was changed to something other than masterkey; this has been resolved.
    3. The extension block is moved from the MTB/MXS file to firebird's RDB$RELATIONS.RDB$DESCRIPTION field. This makes it easier to connect to the MXDs of other projects using the service connector wizard.
    4. It was problematic to alter a table that was renamed. If tried to alter the table, one got an error message which referred to a generator with a name similar to the original table name.
    5. Issues with UTF8 character set XApps refusing to connect to UTF8 firebird databases, using a Firebird service connectors, have been resolved.
    6. There is a table field limit of 100 for mySQL ODBC connection.
    7. The default firebird database extension in import data wizard or the service connector is .fdb as well as .gdb.
    8. The Data view grid limit of maximum 100 fields per table is fixed.
    9. Query changes take effect in the forms instantly. No need to re-build or re-save query bound forms after altering the queries.
    10. Using a more lightweight system that composes the SQL statements for continuous forms.
    11. Fixed the issues with creating a new record in a linked MS Access table that contains an AutoNumber field.
    12. Issues with default values of database fields causing compiler errors (intermittent) are resolved.
    13. Issues related to saving parameters in pass-through queries, fixed.
    14. Issue with displaying an image in a Single Form based on a Query fixed.
    15. In the query wizard, the incorrect Total options in the Fields step, is fixed.
    16. The default value for the "Yes/No" field in table design can now be set to ‘Yes’ or ‘No’ text without resulting in errors at the data entry time.
    17. Issues with the pass-through queries executing the Insert statements multiple times have been resolved.
    18. Queries with renamed data sources (tables and nested queries) now display a message on the name changes and allow the developer to view the query in design mode.
    19. The Table wizard now does not allow a memo field to be set as a primary key as soon as the field is selected.
    20. The inaccurate renaming process for external ODBC tables within the IDE has been corrected.
    21. Autonumber fields of GUID Class now work correctly. New GUID values are generated as new records are added to a table.
    22. It is now possible to open a project if any of the external databases used are offline.
    23. At design time, data from floating-point number fields always display as currency (preceded by $ sign) is fixed.
    24. Issues with data in memo fields of external Firebird databases not displaying at design time are fixed.
    25. Picture fields of external MXD files now display at run time.
    26. The inconsistencies with alternative methods of accessing the Relationship tab in the AppsBuilder have been fixed.
    27. Fixed problems with altering tables which were renamed at design time.
    28. Issues related to importing Firebird databases into Morfik are resolved.
    29. Intermittent problem with the table data view and design view not being in synch after fields were deleted in a table have been resolved.
    30. The incorrect start and increment options for the Autonumber GUID fields have been removed
  6. WebServices and WebMethods
    1. Defining a web method, without any parameters, generated the following error at run time "firstChildElement of SOAP-ENV:Body null = Nil". This has been fixed.
    2. Parameters with space between "=" sign and the Parameter name of a Web method works correctly now.
    3. Using incorrect parameters in the RunWebService function generates an error message at the time of execution.
    4. The FaultCode for a Web Method is now set when using browsers other than IE.
    5. The issue of declaring a class under the Implementation section of a Form causing unwanted results is resolved.
  7. Miscellaneous
    1. All sample projects have been updated to compile and run with the latest release.
    2. Issues with handle leaks when an XApp is running resolved.
    3. General improvement to Morfik created applications in order to make them fully W3C compliant.
    4. In the new project wizard, the project name is now checked to ensure a valid name.
    5. The default value of the ThreadsPerChild Apache directive has been increased to 500.
    6. The sample demo ‘Northwind’ has been updated with fixes applied to the reports.
    7. Fixed the JPEG error #38 error message.
    8. Issues with the main form not loading and the 'Loading...' not disappearing in some XApps .
    9. The 'Add Watch', 'Toggle Breakpoint' and 'Breakpoint at' option under the Debug menu is now only enabled when required.


download32.png Download

On the download page, you will have the option of choosing from three different versions of Morfik that differ in the programming language used. Choose the version with the programming language that you are familiar with. The installation steps are identical whether you purchased your copy or are using the trial version.


download16.png  Download Full version


To install Morfik:
1. Open the downloaded Zip file with a tool such as WinZip™ or other compatible program.
2. Double-click the single .EXE file contained in the Zip file.
3. Follow the instructions and prompts in the Setup Wizard to complete the installation.


Resources32.png Other Resources and Links

Resources16.png   "How Do I?" Videos  Learn by watching training videos on how to perform common tasks within Morfik
Resources16.png   Morfik Developers Assist   Support page provides a list of useful links to various technical resources
Resources16.png   Morfik Support Forum   Browse through the questions and answers, search for specific topics


workplace-system32.png System Requirements

Morfik's software and hardware requirements are as follows:
-Windows XP®, Windows Vista® (32- or 64-bit) or Windows 7® (32- or 64-bit)
-Intel® Pentium class, 1.8 Gigahertz processor or better
-1 GB RAM or more
-1 GB hard disk space (Installer + User Files)
-Monitor 1280x1024 screen resolution or better
-32-bit color, 64 MB graphics memory or better
Morfik is only available as a download, and the installation steps are identical whether you purchased your copy or are using the trial version.


Related Topics

Back to top