0

Delphi (XE2 から XE5 まで) では、ターゲット プラットフォームをプログラムでプロジェクトに追加するにはどうすればよいですか?

「プログラムで」とは、.dproj ファイルの変換ではなく、OpenTools API を使用することを意味します。これは、IDE ウィザード/エキスパート内で実行されます。

ToolsAPI ユニットを調べたところ、アクティブなプラットフォームとサポートされているプラ​​ットフォームのリストを取得できるようですが、新しいターゲット プラットフォームを追加するための明白な情報はありません。

4

1 に答える 1

1

これは可能のようです。調べる必要がある単位は ですPlatformAPI。必要なものがあるインターフェイスは次のとおりです。

  { Provides information on platform-specific information held by a project }
  IOTAProjectPlatforms160 = interface(IInterface)
    ['{E1C62726-BD51-4D4E-A2F2-9A8A59F272AE}']
    { Add an available platform to the project }
    procedure AddPlatform(const PlatformName: string);
    { Return the currently active platform key }
    function CurrentPlatform: string;
    { Return enabled state of the requested platform }
    function GetEnabled(const PlatformName: string): Boolean;
    { Return an array of strings representing the enabled platforms for a project }
    function GetEnabledPlatforms: TArray<string>;
    { Return the profile name associated with the specified platform }
    function GetProfile(const PlatformName: string): string;
    { Does the project support platform specified by PlatformName? }
    function GetSupported(const PlatformName: string): Boolean;
    { Return an array of strings representing the valid platforms for a project }
    function GetSupportedPlatforms: TArray<string>;
    { Set a platform as disabled for this project (cannot be made active) }
    procedure SetEnabled(const PlatformName: string; Value: Boolean);
    { Set the profile name for the specified platform. Pass an empty string to
      clear the profile }
    procedure SetProfile(const PlatformName, ProfileName: string);
    { Indicate the specified platform is supported or not }
    procedure SetSupported(const PlatformName: string; Value: Boolean);
    { Return whether or not the profile associated with PlatformName is the default profile
      for that platform }
    function UsingDefaultProfile(const PlatformName: string): Boolean;

    property EnabledPlatforms: TArray<string> read GetEnabledPlatforms;
    property Enabled[const PlatformName: string]: Boolean read GetEnabled write SetEnabled;
    property Profile[const PlatformName: string]: string read GetProfile write SetProfile;
    property Supported[const PlatformName: string]: Boolean read GetSupported write SetSupported;
    property SupportedPlatforms: TArray<string> read GetSupportedPlatforms;
  end;

AddPlatformメソッドはあなたの男のようです。

メソッドを呼び出そうとしていないことに注意してください。実際、私が行ったのは、tools API ソース フォルダーでplatformという単語を検索することだけでした。

于 2014-01-09T21:09:12.560 に答える