如何在我的delphi项目中从delphi Dll继承自定义表单(可视继承)

时间:2013-08-18 12:17:45

标签: delphi inheritance plugins dll delphi-xe3

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

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

实施例    TAccountsForm = class(TGlobalForm)

问题是我不想在项目的使用中使用GlobalForm pas文件 我希望它就像你创建一个新表单(File-> New-> Other)并选择(Delphi Projects)节点下的(可继承项目)所以新创建的表单将显示项目(Buttons,Edits) ...)继承形式(TGlobalForm)

如何做到这一点?

我正在使用Delphi XE3 - VCL项目

谢谢。

1 个答案:

答案 0 :(得分:6)

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

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