0

我有一个 Delphi 客户端 (exe) 和 .NET COM dll,我试图在不需要注册 dll 的情况下运行它们。我已按照此处的步骤进行操作,并且我的 Delphi 客户端可以正常编译。但是,我不是 Delphi 专家,我无法弄清楚如何在 Deplhi 中使用该对象。以链接到的 Skype4COM.dll 示例为例,我将如何从 Delphi 7 访问 dll 及其方法?提前致谢。

4

1 回答 1

0

这不是答案,但我想包含一个代码示例,这是我知道 Stack Overflow 上的唯一方法。

如果它可能对您有所帮助,这里有一个示例,说明我们如何在 SxS 中部署的一个 VB6 项目中包含对 MS Flex Grid 控件的引用。客户端是 AbbottMST.exe,COM 服务器是 MSTEngine.dll,这是来自客户端清单文件 AbbottMST.exe.manifest 的精简示例。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity type="win32" name="AbbottMST" version="4.0.0.7"/>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="MSTEngine" version="4.0.0.4"/>
        </dependentAssembly>
    </dependency>
    <file name="msflxgrd.ocx">
        <comClass clsid="{6262D3A0-531B-11CF-91F6-C2863C385E30}"
            tlbid="{5E9E78A0-531B-11CF-91F6-C2863C385E30}"
            progid="MSFlexGridLib.MSFlexGrid.1"
            description="Microsoft FlexGrid Control, version 6.0 (SP6)"
        />
    </file>
</assembly>

请注意,如果您包含清单,那么您必须将其部署为并排。对于这个项目,我们需要一个不支持 SxS 的 Windows 2000 的普通注册版本和一个 XP 的并行版本。绑定了此清单的 EXE 版本将不会在非 SxS 安装中运行。(可能有一些我们不知道的魔法咒语,但那是我们的经验。)

于 2012-05-01T05:55:21.180 回答