0

我有一个 dll(在 Delphi 中创建),其中包括一个从 TForm 继承的 TGlobalForm

我想在我的项目(Delphi Project)中使用 TGlobalForm 并从 TGlobalForm 继承一些表单。

示例 TAccountsForm = class(TGlobalForm)

问题是我不想在项目的使用中使用 GlobalForm pas 文件,我希望它就像您创建新表单(文件->新建->其他)并选择(可继承的项目)在(Delphi Projects)节点下,因此新创建的表单将显示继承表单(TGlobalForm)的项目(按钮,编辑...)

如何做到这一点?

我正在使用 Delphi XE3 - VCL 项目

谢谢你。

4

1 回答 1

7

无法从 DLL 导入和使用 VCL 对象。当您尝试这样做时,您最终会得到两个不同的 VCL 实例,包括两个不同版本的导入表单类型。DLL 中有版本,应用程序中有版本。它们是不同的,两种版本的类型太多了。

从另一个模块导入复杂类型的支持方法是使用包。如果您不想使用包,那么您将不得不使用某种形式的互操作,它可以跨 DLL 模块边界工作。例如,COM 接口。

于 2013-08-18T12:45:22.000 回答