【发布时间】:2009-11-17 02:04:47
【问题描述】:
在this question 之后,我需要知道应该遵循哪些原则才能将一个类封装到一个与其他版本的Delphi 兼容的dll 中。 我使用 RAD2010 中的泛型功能创建了一个类,并创建了一个 dll,该 dll 具有返回它的实例的函数。当我尝试使用 BDS2006 或 Delphi 6 使用 dll 时,DLL 没有按预期工作。但是如果我在其他电脑上使用RAD2010,就没有问题。是不是因为使用了以前 Delphi 版本中没有的功能(堆栈东西?)? 对于字符串问题,我已经遵循库文件中的注释指南,即我将 ShareMem 放入库首先使用子句和我的项目中。我已将 borlndmm.dll 从 RAD2010 复制到我使用 BDS2006 尝试 DLL 的同一文件夹中。它没有崩溃,但没有达到预期的效果。一个函数在 RAD2010 环境中运行良好时返回一个空字符串。
再一次,我有一个问题:应该遵循哪些原则才能使 dll 中的类封装与其他版本的 Delphi 兼容?先感谢您。 (在不使用OOP时将函数封装在dll中,其他版本的Delphi我没有发布)。
【问题讨论】: