Delphi Xe2包x64

时间:2011-11-01 19:53:18

标签: delphi package delphi-xe2

让我们承认,我在Delphi Xe2中创建了新的包。我保持名称“我的”。我添加了一个简单的组件“MyComponent”。我编译,我在C:\ Users \ Public \ Documents \ RAD Studio \ 9.0 \ Bpl \ My.bpl中收到文件Bpl。

我添加了一个“Win x64”平台。 我编译,我收到C:\ Users \ Public \ Documents \ RAD Studio \ 9.0 \ Bpl \ Win64 \ My.bpl。

... \ Bpl \ Win64 \ My.bpl建立新包不给,写“不是windows x32应用程序”。 第一个是正常建立的,在调色板上组件显示为“MyComponent”。 如果要使静音,鼠标的索引将显示提示将写入的位置,即x32兼容。 而在原生组件Delphi - 兼容所有x32-64。 与Xe2的磁盘一起,有一个带有Free和Tral组件的空闲磁盘,如果要放置它,例如OverByteIcs或Ip * Works,那么它们在所有组件上的兼容性将是32-64х。

问题: 1.如何建立x64版本包? 2.如何实现,该组件具有兼容性32-64,而不仅仅是32?

P.S。英语不好:ON

2 个答案:

答案 0 :(得分:6)

Delphi IDE是32位,因此只能加载32位设计时包。您当然可以创建64位运行时包。

答案 1 :(得分:3)

已经赚了,已经明白了!

  1. 我们创建空包
  2. 我们添加组件,例如Button,并指定组件的平台(关键时刻是必要的!
  3. 实施例

    unit GuButton;
    
    interface
    
    uses
      System. SysUtils, System. Classes, Vcl. Controls, Vcl. StdCtrls;
    
    type
      [ComponentPlatformsAttribute (pidWin32 or pidWin64)] // !!!!!!!!!!!!!!!
      TButtonGu = class (TButton)
      private
        {Private declarations}
      protected
        {Protected declarations}
      public
        {Public declarations}
      published
        {Published declarations}
      end;
    
    procedure Register;
    
    implementation
    
    procedure Register;
    begin
      RegisterComponents (' Gu ', [TButtonGu]);
    end;
    

    我们保留,我们在x32下编译。我们添加了一个平台x64(应该注册选项,平台下的目录不同)。 我们在x64下编译。我们收到2个BPL(如第一个问题)。我们建立x32。我们看 - 添加了新组件ButtonGu - 32-64兼容。

    我想要的,谢谢。 另外http://docwiki.embarcadero.com/RADStudio/en/64-bit_Cross-Platform_Application_Development_for_Windows