[Openmcl-devel] CCL on Windows
mevins at me.com
Mon Oct 1 22:54:53 UTC 2012
On Oct 1, 2012, at 4:22 PM, Ron Garret wrote:
> On Oct 1, 2012, at 2:16 PM, Robert Goldman wrote:
>> On 10/1/12 Oct 1 -2:27 PM, Raymond Wiker wrote:
>>> On Oct 1, 2012, at 21:19 , Ron Garret <ron at flownet.com
>>> <mailto:ron at flownet.com>> wrote:
>>>> The problem turned out to be this: if you double-click on a zip file,
>>>> Windows will open up a window that displays the contents of the zip
>>>> file. If you try to run ccl out of this window, it doesn't work. If
>>>> you explicitly unpack the zip file first and then run ccl out of the
>>>> resulting folder then it works.
>>>> So CCL is running, on to the next question: if I want to do some
>>>> UI-ish thing in CCL on OS X then I use the ObjC bridge to call Cocoa
>>>> functions. What is the equivalent concept on Windows? Do I use the
>>>> FFI to call the Win32 API? Or is there some higher level library that
>>>> I can use that lets me do something like (make-instance 'window)? Is
>>>> there any Windows UI sample code or documentation?
>>> One option would be to create a web interface to your application - I do
>>> this regularly (but admittedly for things that are an obvious fit to web
>>> interfaces :-)
>> I have done this, too. I find, though, that it's not always a good fit.
>> In particular, I find that doing obvious things in the UI client is
>> often a monumental nuisance because of the sandboxing rules in the browser.
> Unfortunately, a web interface is not an option. This has to be a native app, which is the reason it has to run on Windows.
I've done this with CCL two different ways:
1. Use CCL's FFI to talk to the Win32 APIs.
2. Use LTK. (http://peter-herth.de/ltk/)
LTK is far and away the easier way to go. Even if it's not suitable in the end, I'd start with it, because you can pretty easily get enough of your UI built to figure out what you really want to do with the Win32 APIs. If you're lucky, LTK is good enough, and you don't have to go through the whole rigamarole of learning Win32.
Another alternative is to use Lispworks, which has a pretty comprehensive platform-independent GUI library, but it's not cheap, and it's not CCL.
More information about the Openmcl-devel