有开源的Common Lisp COM包装器吗?

4
我有一个应用程序,它是用SBCL编写的,并作为可执行文件部署在Windows上。现在需要它通过COM与Excel交互,并通过DDE与另一个应用程序交互(我知道,我知道)。
对于DDE,我已经很快地用一个非常小、简单易维护的C库包装了我所需的内容。然而,COM似乎是一个相当大的项目,只能使用Python和Win32扩展库来实现这部分功能。
对我来说,这很烦人,因为很多CL代码都被一些与主项目集成程度不同的Python代码增强了。
我看到LispWorks和Allegro CL都允许使用COM进行交互,但无法在Google或CLiki上找到任何开源实现相同功能的东西。
这样的东西存在吗?
2个回答

4

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

您要求 Excel 集成,因此 cl-win32ole 中包含的 Excel 示例 可能会对您有所帮助:


2
我不知道有哪些开源的COM包装器可以在多个CL实现中使用,包括SBCL。
你最好检查一下Corman Lisp,它是特定于Windows的,并且包括一个COM服务器。请查看其特性页面:http://www.cormanlisp.com/features.html 我的印象是Corman Lisp已经不再得到积极支持了,但我可能非常错误,但你至少可以从其源代码中获得一些有用的东西。

当你说“我不知道有哪些开源COM包装器可以在多个CL实现上工作”时,你是否知道有哪些可以在单个非商业实现上工作的呢? - futuranon
所以他们只卖CCL,不提供任何支持,价格为250美元?听起来有点可疑,不是吗? - grettke
1
grettke:FYI,“CCL”通常指Clozure CL(以前是OpenMCL(以前是Coral Common Lisp)),与Corman无关。 - Kevin Reid
futuranon:不,直到David回答之前都没有。我回答问题时考虑了Corman,很抱歉给你带来了错误的印象。 - aerique
grettke:也许我应该用不同的措辞,但这绝对不是可疑的。也许我应该说,楼主应该先查看Corman Lisp的论坛,以了解它的状态。 - aerique

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接