What means MVLT?
The MVLT mean Make Visual LISP Template, at the first design idea, the programming purpose is only to create a template Visual LISP application codes. So the name is called as making a template.
Now, MVLT is developed to make a total Visual LISP programming. But the former name is still kept.
There still are TEMPLATES in MVLT2002. But these Templates are NOT the same as the original idea on design. These Templates are used by MVLT2002 to generate different kind of codes.
Now MVLT2002 support two Template types:
(1): Running based on KozMos OASis2002 (by using OASis-API native functions)
(2): Stand-alone pure Visual LISP applications (by self-supporting)
In future versions, MVLT2002 will support using user's own Template. Via the help of "Template Wizard" in MVLT2002, user are able to create their own Template.
The purpose for MVLT2002 is to generate pure Visual LISP application codes. But MVLT2002 is only designed for generating codes of Visual LISP applications that contain dialogs. That means if there is NOT any dialogs in applications, MVLT2002 will have nothing to do. Only in case of dialogs appear can MVLT2002 start to work.
You can make your whole programming work within MVLT2002. And MVLT2002 support the run-time test during the programming period. All of the codes generated by MVLT2002 can run normally within AutoCAD without any further modification.
The design idea of MVLT2002 is to read a source DCL file (can NOT be encrypted, or calling other DCL file in it). MVLT2002 will collect the "keys" of all defined tiles (Objects in dialog definition). In MVLT2002, we provide each key two properties:
(1): [Set_tile Function]: The function to initialize the the tile (mostly while the dialog start);
(2): [Action_tile Function or Done_dialog Function]: The function when users have operations on the tiles.
[Action_tile Function]: This function is used when the dialog will NOT be closed;
[Done_dialog Fucntion]: This function is used to close the dialog temporarily and make some operations. If the Done_dialog Fucntion is enabled and defined, you MUST define a "Done_Dialog ID" to fit with that "Done_Dialog Function". Or MVLT2002 way fail in determining the data structure. While setup the "Done_Dialog ID", remember do NOT use 0 or 1 or other used integer. Incorrect setting of "Done_Dialog ID" may cause unexpected result while testing codes.
To build a dialog based Visual LISP application, MVLT2002 can maintain the general structure of the routine. Your modification on tiles of "Set_tile Function" or "Action_tile Function" or "Done_dialog Function" will be added into the correct position by MVLT2002 automatically. By doing so, the programming procedure will be easier and shorter. Also your future program maintain is also a simple thing to do.
Limitation on programming:
Operation on STRING: You can NOT enter real string in the blank for function entering such as "(MyApp \042Var1\042)", because this may cause errors when MVLT2002 makes "Syntax Analyzing". To solve this program, you MUST define a local variable to substitute the real STRING.
Dangerous Characters: For there are two characters: "^" and "#" are used by MVLT2002 while the function strings analysis. Please remember: do NOT use these two characters in your sub-function names or local variable names. The improper usage of these two characters may cause MVLT2002 failed in functions analysis.