我有一个用SBCL编写的应用程序,并在Windows上部署为可执行文件。需要通过COM和另一个应用程序通过DDE与Excel交互(我知道,我知道)。
DDE非常简单,我可以在一个非常小的,易于维护的C库中快速包装我需要的东西。另一方面,COM似乎是一个足够大的项目,可以使用Win32扩展库在Python中实现这部分功能。
对我而言,这很烦人,因为许多CL代码正在使用与主项目不同程度集成的Python进行扩充。
我已经看到LispWorks和Allegro CL都允许COM交互,但是无法通过google或CLiki找到任何相同功能的开源实现。
这样的事情存在吗?
答案 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不再受到的支持,但我可能在这个上非常错误,但至少你可以从源代码中收集一些有用的东西。