【问题标题】:Delphi DLL created from parented to calling applicationDelphi DLL 从父应用程序创建到调用应用程序
【发布时间】:2010-08-20 19:53:11
【问题描述】:

我有一个应用程序,我调用一个 DLL 函数来创建并返回一个表单。当我尝试将此新表单作为应用程序中的主表单的父级时,我遇到了一大堆错误。

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

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

谢谢你, 蒂姆

【问题讨论】:

  • 你得到什么样的错误?您如何将新表单作为应用程序中主表单的父级?

标签: delphi dll delphi-2007


【解决方案1】:

使用相同版本的 delphi 编译器和相同的运行时包编译您的 dll 和 exe。
同样在 dll 中,不要在表单创建函数上使用任何调用约定,如 stdcall 或 cdecl。
它会像魅力一样发挥作用。

【讨论】:

    【解决方案2】:

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

    1. BPL vs. DLL
    2. Stack oveflow question

    还有其他方法。现在主要的问题是为什么要在 DLL 中创建一个表单,真的需要吗?

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-01
        • 2013-06-19
        • 2011-04-28
        相关资源
        最近更新 更多