Delphi Xe2 Package x64 - PullRequest
       27

Delphi Xe2 Package x64

1 голос
/ 01 ноября 2011

Допустим, я создаю новый пакет в Delphi Xe2.Я держу под именем «Мой».Я добавляю простой компонент "MyComponent".Скомпилирую, получаю файл Bpl в C: \ Users \ Public \ Documents \ RAD Studio \ 9.0 \ Bpl \ My.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?

PS Плохой английский язык: ON

Ответы [ 2 ]

6 голосов
/ 01 ноября 2011

Delphi IDE является 32-битной и поэтому может загружать только 32-битные пакеты времени разработки.Конечно, вы можете создавать 64-битные пакеты времени выполнения.

3 голосов
/ 02 ноября 2011

заработало, понял!

  1. Создаем пустой пакет
  2. Добавляем компонент, например Button и указывается, какие платформы для компонента ( нужен ключевой момент! )

Пример

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 (как в первом вопросе). Устанавливаем х32. Смотрим - добавлен новый компонент ButtonGu - совместимый с 32-64.

Вот я, что хотел, всем спасибо. Дополнительно http://docwiki.embarcadero.com/RADStudio/en/64-bit_Cross-Platform_Application_Development_for_Windows

...