我很难在Visual D 2010中运行一个简单的COM服务器。这些是我到目前为止所做的步骤:
dserver.d
的内容复制到dllmain.d
chello.d
和dserver.def
复制到解决方案的源文件夹中,以及<D install dir>\dmd2\windows\lib
中的advapi32.lib和ole32.lib。 dserver.def
重命名为dll.def
,覆盖现有项目的文件。chello.d
和dllmain.d
(原dserver.d
)
regsvr32 COMServer.dll
会返回以下四个消息框:
然后
然后
最后
我仍然无法从VBA访问COM对象。并直接引用DLL(通过Browse ...按钮并指向COMServer.dll)失败,并显示“无法添加对指定文件的引用。”
答案 0 :(得分:1)
我再看一下论坛,样本的问题似乎与Windows XP上的TLS有关。我在这里发布了一个(有点hacky)解决方案:
http://forum.dlang.org/thread/mqoxluonyjdtjxauaxnl@forum.dlang.org?page=2
答案 1 :(得分:0)
我无法为您提供有效的答案。看起来这是一年前,我试图找到一个使用COM server工作的例子。这使用Juno(不准备64位),与Visual D无关,最重要的是我无法工作。我遇到的问题与注册服务器有关(“并排配置不正确”)。
我对COM的资格都在Juno的历史中(所以没有太多)。如果你对COM更熟悉,你可能会更进一步,如果它没有编译为最新的DMD让我知道(2.064还没有出来)。