System.Actions.CreateAction

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

function CreateAction(AOwner: TComponent; ActionClass: TBasicActionClass; FrameworkType: string = ''): TBasicAction;

C++

extern DELPHI_PACKAGE System::Classes::TBasicAction* __fastcall CreateAction(System::Classes::TComponent* AOwner, System::Classes::TBasicActionClass ActionClass, System::UnicodeString FrameworkType = System::UnicodeString());

プロパティ

種類 可視性 ソース ユニット
function public
System.Actions.pas
System.Actions.hpp
System.Actions System.Actions

説明

指定された ActionClass 型のアクションを作成します。


CreateAction は、IDE で設計時に、(アクション リスト エディタで)アクション リストにアクションを追加したり、(VCL の場合はアクション マネージャで)アクション バンドにアクションを追加したときに、自動的に呼び出されます。

この関数を呼び出したときの処理は、ActionClass.Create(Delphi)または指定された ActionClass アクション クラスのコンストラクタ(C++)を呼び出した場合と同じです。唯一異なるのは、CreateAction では、RegisterActions 手続きの Resource パラメータを使って、新しいアクション オブジェクトの値を初期化する点です。

CreateAction 関数では、アクションを作成するために、CreateActionProc 変数に格納された手続きを呼び出します。IDE では、適切な手続きを CreateActionProc 変数に割り当てておく必要があります。

CreateAction では、CreateActionProc 変数に格納された手続きを呼び出す直前に、vDesignAction 変数を True に設定します。CreateAction は、CreateActionProc 手続きの実行が完了するとすぐに、vDesignAction 変数を初期値に戻します。そのため、アクションのコンストラクタで vDesignAction 変数の値を確認すると、コンストラクタが IDE から呼び出されたのかユーザー アプリケーションから呼び出されたのかを知ることができます。

CreateAction には以下のパラメータがあります。

パラメータ 説明
ActionClass

作成するアクションの型を指定します。この型は、TBasicActionClass 型に属するアクション クラスです。

CreateAction が IDE のアクション リスト エディタまたはアクション マネージャから呼び出された場合、ActionClass は登録されている標準アクション クラスのいずれかになります。

AOwner

アクションの所有者です。通常は、フォームまたはデータ モジュールです。

FrameworkType

アクションが VCL フレームワーク用に作成されたものか FireMonkey(FMX)フレームワーク用に作成されたものかを定義します。このパラメータのデフォルト値(または''空の文字列を指定した場合の値)は VCL です(既存アプリケーションとの互換性のためと、ActionEditors.vOldIDEActions のため)。

このパラメータは、VCL アクションが FireMonkey アプリケーションで使われる(またはその逆の)状況を回避するために使われます。そのような状況では、アプリケーションのサイズが著しく増加したり、MacOS で Windows API を呼び出すなどして実行エラーが発生する結果になる可能性があるからです。

関連項目