有没有办法导出和使用另一个 dll 中的类,
我有 2 个 dll,我正在尝试访问它们之间的类,想知道这是否可能。
有多种方法可以实现这一目标,包括但不限于以下几种:
- 使用运行时包而不是 DLL。然后您可以使用另一个模块中的任何类型、变量等。请注意,这会强制您在所有模块中使用运行时包,并使用相同版本的 Delphi 来编译所有模块。
- 继续使用 DLL,但通过接口而不是 Delphi 类访问类型。与类不同,接口可以跨 DLL 边界导出。
- 继续使用 DLL,但使用单元作用域过程和函数而不是类来访问类型。这将引导您进入与 Win32 接口性质相同的接口。
在上述选项中,它们按照便利性递减的顺序排列。最方便的是使用运行时包,但这可能会给您带来不良的限制,即所有模块都使用相同的 Delphi 版本进行编译。接口通常比 Win32 风格的接口更方便使用,但建立这样的体系结构可能会产生更多的编程开销。您必须做出您认为最适合您需求的选择。
如果您可以首先避免使用单独的模块,并将所有内容构建到单个可执行文件中,那么这无疑是最方便的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)