Most programmers understand how to divide functions and program files into discrete parts. This is called "code modularity" and is accepted as good technique for writing MDL source code. This method has been well covered by many magazine articles. We would like to suggest taking this modularity to the application level. MDL shared libraries are a step in the right direction but allow for only partial application modularity. Applications that use shared libraries can not execute without them, stripping away some of the modularity. We would like to suggest keeping the code in separate applications that can load independently but still communicate via an exported interface.
The MDL Interface Code Generator (ICG) is a tool from Salient Solutions to export functions from one application and import them into another application at run time. This is a new form of linking for MDL, where functions can be resolved at run time when they are actually called, not when the application is compiled or loaded. The ICG reads an Application Interface Definition (AID) file and produces code to handle all the overhead necessary to create a seamless, consistent, reliable and invisible connection to functions in other applications. Large applications can be broken up into a project consisting of several modular applications.
The same benefits we get from modularizing functions and files can be extended to the application level. By using application modularity, large scale MDL projects can be broken down into smaller, more manageable applications. This method can help at every stage of large projects, from design to maintenance. For more information on using the MDL Interface Code Generator (ICG) to help with modularizing applications, contact salient@flash.net.
FREE TRIAL!!! See how easy it is to call functions in your application from other applications!