2010-08-20 84 views
2

我有一个应用程序可以调用创建并返回表单的DLL函数。当我尝试将这个新窗体添加到应用程序的主窗体中时,我遇到了一大堆错误。从DLL调用应用程序创建的Delphi DLL

这是一个常见的错误/问题还是在这种情况下没有父母的问题。

据我所知,在DLL调用中创建的表单不属于应用程序。有没有办法让新创建的表单属于应用程序。

谢谢 添

+1

你会得到什么样的错误?你如何将你的新表单添加到应用程序的主表单中? – 2010-08-21 01:27:39

回答

2

使用相同版本的delphi编译器,使用相同的运行时软件包编译您的dll和exe文件。
也在dll中不使用任何调用对象如stdcall或cdecl在您的表单创建函数。
它会像魅力一样工作。

2

不要使用VCL里面的DLL。这样你会遇到各种各样的问题。如果您绝对需要具有创建VCL组件或其他GUI部件的动态包,请使用BPL。这是两者的短sumary:

  1. BPL vs. DLL
  2. Stack oveflow question

还有其他aproaches。现在主要的问题是为什么你在DLL中创建一个表单并且真的需要它?

1

您的dll和exe文件必须在相同版本的RAD Studio中编译,并且都必须使用运行时软件包。