【问题标题】:Delphi - Why can't I install my component in 64Bit?Delphi - 为什么我不能在 64 位中安装我的组件?
【发布时间】:2017-07-24 03:35:44
【问题描述】:

我编写了一个自定义组件并尝试在我的 Delphi 10.1 环境中安装它。

我只有一个 .Pas 文件。

我去了:

组件 - 安装组件,选择我在桌面上新文件夹中的单元 -> 在同一目录中创建一个新包 -> 点击完成

现在,当我在 IDE 中打开我的包并将平台设置为 windows 64 位时,我可以编译但不能安装我的组件。

我的组件是从TEdit-control派生的,不知道这是否相关。

我的需求列表如下:

dbrtl.dcp
rtl.dcp
vcl.dcp
vclactnband.dcp
vcldb.dcp
vclx.dcp
xmlrtl.dcp

我真的很想在 32 位应用程序和 64 位应用程序中使用我的组件。

IDE 提供的其他 VCL-Controls 在 64 位应用程序中编译没有问题,但是当我将项目设置为 64 位时,我的组件显示为灰色。

我用的是win8.1 64Bit。

【问题讨论】:

标签: delphi components 32bit-64bit


【解决方案1】:

IDE 是一个 32 位进程。因此,您只能安装 32 位软件包。但是,运行时,64 位程序可以使用您的组件。通过直接链接或通过运行时包链接它。在后一种情况下,您需要提供 64 位运行时包。

文档对此进行了详细介绍:http://docwiki.embarcadero.com/RADStudio/en/64-bit_Windows_Application_Development#Considerations_for_64-bit_Applications

【讨论】:

  • 我该怎么做?
  • 做什么?有许多步骤。首先安装 32 位设计时包。你要做的第一件事是证明你可以让一切都在 32 位上工作。之后就很容易了。
  • 32Bit 没有问题。之后我为我的 .bpl 切换到 64 位并说编译和创建。现在,当我尝试组件-> 安装组件-> 相同的单元,相同的包时。我收到一个错误,应用程序不是有效的 win32 应用程序。
  • 我还是不知道你是怎么链接的,不管你是否使用运行时包。步骤不同。在任何情况下,您都可以执行与 32 位相同的操作,但使用 64 位模块。但没有 64 位设计时包。忘记在 IDE 中安装更多内容。您只对 32 hit design time 包执行此操作。
  • 您需要为组件代码创建 32 位和 64 位运行时包,以及将组件安装到 IDE 中的 32 位设计时包。不要创建 64 位设计时包。表单设计器仅适用于 32 位组件。编译 64 位项目时,它链接到 64 位运行时包。这在the documentation 中有解释。
猜你喜欢
  • 2012-08-22
  • 2018-05-14
  • 2021-02-26
  • 2018-02-27
  • 2016-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
相关资源
最近更新 更多