Morfik 1 - Release

March, 2007

This release includes a number of bug fixes as well as a new implementation of the ODBC connectivity system.

add-new32.png What's New in Morfik

Recommendations & Notes

  1. AppsBuilder Release 1 (build introduced the feature that allowed you to convert all the code from one language syntax to another. As this feature has still not fully matured,
  1. This process does NOT create a new copy of the project but rather converts the existing one.

Note that in this version of AppsBuilder it is NOT possible to convert to Pascal syntax.

Required code changes to existing XApp Projects
As AppsBuilder Release 1 (build contains many significant changes to prior versions, some changes may be needed to older projects in order for them to compile and run correctly

  1. Databases
    1. In order to improve performance in AppsBuilder Release 1, the automatically generated system tables (table names starting with MFK$) are not generated anymore for new projects and any framework routines related to these system tables have been removed. If you have used these tables, please refer to the attached notes on how to update your project with a few simple changes in your code.
  2. There is a new implementation of the ODBC connectivity system. ODBCExpress connectivity has been replaced by SQLDB. As a consequence, the SystemDatabaseODBC framework module has been replaced with SystemdatabaseSQLDB and a new server module, SystemDatabaseDb, is added to the framework.
    1. If you are using the SystemDatabaseODBC module in your project you will need to replace it with SystemdatabaseSQLDB and also use SystemDatabaseDb.
    2. If you have used the ODBCExpress connectivity in your server module “codes”, you will need to update them with the equivalent codes used in SQLDB. For example, following code:
Hstmt := THstmt.Create(Nil);
Hstmt.HDBC := TODBCServiceConnection(DBServiceConnection).HDBC;
Hstmt.SQL := SQL;
    1. will need to change to below:
Query := TSQLQuery.Create(Nil);
Query.Database := TODBCServiceConnection(DBServiceConnection).Connection;
Query.SQL.Text := SQL;
  1. Language
    1. The serverside-class TException has been renamed to Exception
    2. C# and Java have new escape string literals
      • Old: "this "" is a double quote";
      • New: "this \" is a double quote".
    3. Morfik Basic, C# and Java now use hexadecimal literals.

Possible code changes to existing XApp Projects
AppsBuilder Release 1 (build now allows you to convert all the code from one language syntax to another.


This process does NOT create a new copy of the project but rather converts the existing one. Note that in this version of AppsBuilder it is NOT possible to convert to Pascal syntax.

New Features

  1. All Morfik project source files are XML format now. This include .mxp, .cfg, .mfr, .mrp, .mqr, .mmd, .mtb, .mws file types.
  2. Morfik debugger has been modified to enable it to debug Free Pascal Compiler (FPC) created applications. What this means is that FPC has now replaced Virtual Pascal Compiler (VPC) as the default backend compiler for Morfik. As of this release, VPC is no longer supported.
  3. Access control and session management is now an application level operation and can now be implemented within an XApp. System tables and related routines are not part of the AppsBuilder anymore. The attached document contains information on how this can be achieved in the new system.
  4. The ‘Help Menu’/F1 now takes you to
  5. The Developer's Handbook 1.0 is now included as poast of the Morfik AppsBuilder installation.
  6. Converting projects from one language to another. This feature, which is available under ‘Project Menu’, is currently being used as an in-house tool for converting all sample projects in Morfik Labs to Morfik C#, Java and Basic languages.
  7. Added OnPrintBodyStart and OnPrintBodyEnd events for a project to allow inserting additional scripts to the Start or the End of the XApp Body.
  8. New Column count property available via the PropertySheet for continuous forms to allow for multiple column forms.
  9. TException class name (server-side) has now changed to Exception and the msg property changed to Message.
  10. New OnPrintLoadingMessage event for projects to allow modification of the loading message
  11. related system tables are now only added when creating new projects (MFK$SYNC_CLUSTER, MFK$SYNC_SCHEDULE).
  12. AppsBuilder Framework has been updated to work with the API 8
  13. Content of the Output View can now be saved, copied or cleared.
  14. The popup menu of the "Log view's memo control" is set correctly now and it is possible to save, copy and clear contents.
  15. "Errors view" now has Copy and Save options in the popup menu.
  16. The Apache User and Group configuration has been added to the httpd.config file. Previously this had to be done manually.
  17. Support for .png images
  18. Order of the project items has now changed. Form is now the first item in the list.
  19. Added vertical scrollbar to the Memo control in the debugger "Evaluate window".
  20. Support default value for function/method parameters in Morfik Pascal is added.
  21. Morfik Basic now supports the following features:
    1. Implemented Do ... Loop While
    2. Implemented Do ... Loop Until
  22. Morfik Basic, C# and Java languages now all support the following features:
    1. Dynalists (list of ... syntax)
    2. Native syntax for hexadecimal literals
    3. Arrays
    4. Sets of ordinal type
    5. Subrange types
    6. Function types
    7. Class forward declarations
    8. Class reference types
    9. Compiler directives
    10. Compiler metadata
    11. File types (file of ... syntax)
    12. Const, Out, and Untyped parameters
    13. Type declarations nested within a function
    14. Nested functions
    15. Thread variables
    16. Inline JavaScript
    17. Initialization and finalization clauses (especially important for Scriptor)
    18. Record declarations
    19. MorfikDoc comments
    20. Code folding
    21. Statement highlighting

Bug Fixes

  1. Issues related to running XApps from the IDE in Firefox are resolved.
  2. The compilation error when using DecodeDate in the server module is now resolved.
  3. Linux fixes:
    1. When running under Linux, sometimes the XApp failed to create cache directory and this caused a crash in the XApp. This issue has been fixed.
    2. Project OnStart Event now fires correctly.
    3. Linux compilation (compiler cache) bug is fixed.
  4. Issues with resizing of the AppsBuilder window are fixed. It now goes to the set size when restored.
  5. Support for typed constant arrays has been added.
  6. The excessive CPU usage when running Morfik AppsBuilder has been addressed.
  7. It is now possible to enter Negative values in the Property Sheet for coordinates for controls.
  8. Form Close method can now be used for modal forms.
  9. Div, the integer math operator, now works correctly for the browser-side code.
  10. Removed event handlers are now cleared from the Property Sheet for the browser and server modules.
  11. The following server side syntax now compiles correctly: const WordDelimiters: set of Char = [#0..#255] - ['a'..'z','A'..'Z','1'..'9','0'];
  12. Length() now returns correct value in the browser side.
  13. Autosize feature for a TextLabel control no longer ignores the font style anymore.
  14. Images in reports now display the correct colors.
  15. The Form toolbox is shown correctly when AppsBuilder is restored from minimised state.
  16. Incorrect behaviour of window+M shortcut to minimize the IDE is resolved.
  17. The number ‘100’ in a number field now displays correctly in a report. When a number field has a value in it of 100 and it has a format of "$"0.00 when it is displayed in a report it shows as $**.**
  18. Code folding does not malfunction anymore if a module is saved with statements in the collapsed state
  19. Memo fields are now displayed correctly in a Report that is placed within a Subreport.
  20. AppsBuilder does not hang anymore when searching for text within a code module that has some portion of the code collapsed
  21. Improved the responsiveness of the cursor during background compilation
  22. Problems in using custom events with more than one argument are fixed. The getMethodPointer function now applies to more that just the first argument passed to the method.
  23. MySQL:
    1. COUNT now works correctly at runtime
    2. Queries which make use of field aliases no longer cause SQL errors
  24. MS SQL:
    1. The run time error when a form that is previewed uses an external 'Table' containing nvarchar type field with length longer than 255 characters is fixed
    2. Data from a memo field is now displayed correctly in a continuous form.
    3. Issues with previewing a form that has a datasource with UniqeIdentifier field type.
  25. Fixed StrToInt issues to ensure that StrToInt(08) does not give zero (0) as result.
  26. Issues with Context menu for pasting project items (Tables, Queries, Forms, Reports, WebMethods or Modules) by right clicking are resolved.
  27. The tab stops of "Breakpoint properties window" are set correctly now.
  28. Added support for function overloading for all languages.
  29. An incomplete nested procedure could lead the Compiler to instantly exit/close the IDE. This has been resolved.
  30. Using 'exit' within a browser side constructor will not result in error anymore.
  31. In Scriptor projects, occasionally the monitors remain on the screen even if it's not docked. This has been resolved.
  32. Fixed issues with the popup hint for Intellisense not working correctly when there is more than one monitor.
  33. The Access violation checkbox in the Debug\Options\Exceptions is now ticked by default.
  34. No more new line for empty memo fields at runtime.
  35. Morfik QOOXDOO toolbar example now runs correctly.
  36. Suppressed the compiler error that occurred when a destructor was marked as overridden.
  37. Escape characters in Morfik C# and Java string literal have changed (and existing Morfik C# and Java projects must be updated accordingly if escaped double quotes have been used):
    • Old: "this "" is a double quote";
    • New: "this \" is a double quote".
  38. Morfik C# and Java: Compiler errors with parentheses in Boolean expressions are fixed.
  39. Morfik Basic updates:
    1. Compiler error when first character in a string literal is a single quote (‘) fixed
    2. Compilation errors to do with ctype have been resolved.
    3. Now allow equality expressions to be used as Boolean parameter.
    4. Assignment of Dynalist items is handled correctly in browser-side code.
    5. Having a dot after Me does not cause a compiler error anymore
    6. Fixed the intermittent Access Violation while typing codes.
  40. Single form bound to an ODBC parametric query does not get stuck on loading anymore.

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.

cd_run-install32.png Installation

This maintenance update is a complete installation (and not a software patch to the existing installed version of Morfik). You may uninstall previous versions of Morfik, however this is not required, and the new update can co-exist next to the previous versions.

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