Lets walk through a hybrid app with modeless VBA dialog, I'd like to get comments on my thoughts:
1) lisp starts, it gathers data and stores in lisp variables, then runs VBA dialog.
To run dialog, use (vbastmt...).
2) VBA dialog gets opened and uses Tony's functions to access lisp variables to fill its controls in during form_initialize event. Any strings or data should be prepared as lisp vars ahead of time.
3) VBA dialog is open with controls ready to be picked, the events of those controls are programmed to run lisp functions (or possibly modify lisp variables) using Tony's function.
4) If lisp function is run from VBA form, say from a button click to get a point, does VBA form get focus back if user hits escape? How does VBA form get focus back (main issue I care about...)
5) VBA form is closed, does lisp continue on?
6) with modeless VBA form, how do I update controls of the form from lisp? If I could tell the form to run a function (method), that would be enough. Do I use the same old activex techniques, where the form is an object that I run methods and set properties on? If I did that, I could give the form properties, and have it use that instead of getting values from lisp vars.
The thing of passing lots of data to a form, then getting it back when done is an issue in VB/VBA. For the more complicated dialogs, I have always programmed the forms so they have properties. Then I fill the props in before the show event. Then I get the props back after hiding, but before unloading the form.
I am mainly worried about focus issues though. Getting focus back to a form when a lisp function is done, or back to a lisp, when the form is done, is very important.
thanks