1

我正在努力让一个简单的 COM 服务器在 Visual D 2010 中运行。这些是我到目前为止所做的步骤:

  1. 动态库 (DLL) 类型的 Clean Visual D 2010 解决方案
  2. 我已将内容dserver.d复制到dllmain.d
  3. 我已将文件复制chello.ddserver.def解决方案的源文件夹,以及来自<D install dir>\dmd2\windows\lib.
  4. 我已通过在解决方案资源管理器中右键单击项目并添加->现有项目...将复制的文件添加到解决方案中。
  5. 将文件重命名dserver.defdll.def,覆盖现有项目的文件。
  6. 将补丁应用于chello.ddllmain.d(最初),如本论坛主题dserver.d中所写
  7. 构建调试。没有错误。
  8. 调用regsvr32 COMServer.dll返回以下四个消息框:

在此处输入图像描述

然后

在此处输入图像描述

然后

在此处输入图像描述

最后

在此处输入图像描述

我仍然无法从 VBA 访问 COM 对象。并且直接引用 DLL(通过浏览...按钮并指向 COMServer.dll)失败并显示“无法添加对指定文件的引用”。

4

2 回答 2

1

我又看了一下论坛,样本的问题似乎与 Windows XP 上的 TLS 有关。我在这里发布了一个(有点骇人听闻的)解决方案:

http://forum.dlang.org/thread/mqoxluonyjdtjxauaxnl@forum.dlang.org?page=2

于 2013-11-09T23:45:14.297 回答
0

我无法为您提供有效的答案。看起来这是一年前的事情,我试图获得一个使用COM 服务器工作的示例。这使用Juno(不支持 64 位),与 Visual D 无关,最重要的是我无法开始工作。我遇到的问题与注册服务器有关(“并行配置不正确”)。

我的 COM 资格在 Juno 的历史上都存在(所以不多)。如果您更熟悉 COM,您可能会走得更远,如果它不能为最新的 DMD 编译,请告诉我(无论如何,2.064 还没有推出)。

于 2013-11-06T04:15:44.280 回答