是否有开源的Common Lisp COM包装器?

时间:2010-01-27 19:33:23

标签: com winapi lisp common-lisp

我有一个用SBCL编写的应用程序,并在Windows上部署为可执行文件。需要通过COM和另一个应用程序通过DDE与Excel交互(我知道,我知道)。

DDE非常简单,我可以在一个非常小的,易于维护的C库中快速包装我需要的东西。另一方面,COM似乎是一个足够大的项目,可以使用Win32扩展库在Python中实现这部分功能。

对我而言,这很烦人,因为许多CL代码正在使用与主项目不同程度集成的Python进行扩充。

我已经看到LispWorks和Allegro CL都允许COM交互,但是无法通过google或CLiki找到任何相同功能的开源实现。

这样的事情存在吗?

2 个答案:

答案 0 :(得分:3)

有一些名为cl-win32ole的绑定,使用CFFI实现。

您要求Excel集成,因此您可能会对cl-win32ole中包含的Excel example感兴趣:

答案 1 :(得分:1)

我不知道开源的COM包装器可用于多个CL实现,包括SBCL。

您最好的选择可能是检查Corman Lisp,它是Windows特定的,包括一个COM服务器。查看其功能页面:http://www.cormanlisp.com/features.html

我的印象是Corman Lisp不再受到的支持,但我可能在这个上非常错误,但至少你可以从源代码中收集一些有用的东西。