Hi BIGAL, just sharing impressions from my perspective:
Your forms re DCL are saved in the file as well, not to mention the forms are interactive rather than write code and test.
Well the lisp alternative (obviously) is only to create the dcl file on-the-fly.
I agree that it seems alot easier to work with the userforms - regarding the flexible creation of the dialog and asigning subroutines to each tile.
But the main advantage I see, is that you have tiles that are not available with the standard DCL:
- ComboBox
- TabStrip
- Multipage
Ofcourse you could simulate a similair behaviour (for instance using buttons and nested dialogs, that represent the "Multipage" control).
Also there is a
program that allow to generate the (standard) DCL code, while creating the dialog similarly to VBA's userforms - But I still havent tried it.
Nice thing is you can group your code under a heading for a common theme and jump to just that group of code. Where as in lisp you would have to say scroll down to the top defun level to see all the functions in that group.
Lee can you do this in VLIDE?
I prefer to use NP++ along with the "Indent By Fold" plugin for quick and easy formatting, and just double clicking on a word to highlight all of its instances (defun).
Another thing is a helpful structure I keep when I have defuns localised inside my main defun:
(defun C:TestMain
( / SubDefun1 SubDefun2 SubDefun3
*error* var1 var2 var3 var3
) ; <- note that *error* separates my localised defuns from my localised variables
(defun *error* ...
) ; <- after this defun I know that my main code starts
; And now here starts the main code:
var1 ...
var2 ...
var3 ...
)
)
And another important rule was marko_ribar's advice on
my thread about handling very big/long programs.
...but more important is to be sure what routine is doing from beginning to the end and to spot where such problematic portion of code was written to correctly...
Since then I never get lost in my LISP code and maintain it easily, so my debugging tasks were limited only to a doubtful evaluations (the rest was written from experience, intuition and examples from others).
So thats the reason I never used VLIDE, but rather NP++ (I don't feel comfortable writing codes from scratch in VLIDE). However
I use oftenly VLIDE's console to check/trace evaluations I'm not sure about their returns and will they error-out.