Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как указать целевые платформы для компонента, написанного на C++ Builder?


SerhioUser

Вопрос

В Delphi делается так:

type
[ComponentPlatformsAttribute(pidWin32 or pidWin64)]
TMyComponent = class(TComponent)
private
...
end;

Как это сделать в C++ Builder?!!

 

Облазил весть инет, и на docwiki.embarcadero.com искал - инфа есть только по Delphi.

Пытался сделать двойное наследование от TComponent и ComponentPlatformsAttribute - компилятор ругнулся что для Delphi-классов множественные базовые классы не поддерживается:

"E2278 Multiple base classes not supported for Delphi style classes"

:(

Делать компонент на Delphi - не предлагать.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Администраторы

Delphi атрибуты не поддерживаются в С++ Builder. Поэтому не получится на уровне одного компонента указать, на каких платформах он будет работать. Однако, есть другой способ указания этого (правда для всех компонентов пакета). При добавлении новой платформы в список целевых платформ пакета, все компоненты пакета считаются полностью рабочими на этих платформах. (после сборки пакета на каждую платформу). Что проиллюстрировано на рисунках ниже:

post-1-0-27801200-1400769745.pngpost-1-0-96651000-1400769744_thumb.png

 

Если у вас пакет содержит компоненты, как рассчитанные на одну платформу, так и на несколько, то я вижу пока только единственных выход - создание отдельных пакетов для таких компонентов.

 

Ссылка на комментарий
  • 0

Спасибо, Brovin Yaroslav.

Эта метода подходит. Мне как раз нужно было указать платформы для всех компонентов в пакете. Их (компонентов) там не много. :)

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...