[Re-sending my reply to the mailing list to which I thought this was sent originally. My mail address is edi@agharta.de by the way, and not rdnzl-devel-owner@common-lisp.net...]
On Fri, 13 Oct 2006 09:16:07 -0700, "Richard Fateman" fateman@cs.berkeley.edu wrote:
Here is what I think I is the smallest program to open a window..
(enable-rdnzl-syntax) (import-types "System.Windows.Forms" "Form" "Application" )
[Application.Run (new "Form")]
For newcomers trying to copy this: You need to add the line
(use-namespace "System.Windows.Forms")
before you run the application.
However, started from an emacs buffer, this locks up everything until the window is killed.
I can put this in another Allegro OS process by doing this.. (mp::process-run-function "myprocessname" [Application.Run (new "Form")])
But this also locks up everything until the window is killed.
I think that's a problem related to the IDE and not to RDNZL. In LispWorks 5.0, for example, if I start the apropos example coming with RDNZL (which also uses Application.Run) with MP:PROCESS-RUN-FUNCTION as suggested in the RDNZL documentation it runs fine without locking the IDE, i.e. I can still use the listener or other graphical tools while the .NET window is up and interacting.
How can I do this in rdnzl? Can I mix CG and rdnzl?
I don't know much about CG but I think that will be very hard or impossible. But that's not a problem of Lisp/RDNZL. I think it would be equally hard to mix a C++ program using MFC with a C# program using .NET's windows forms.