System.Actions.CreateAction
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 のアクション リスト エディタまたはアクション マネージャから呼び出された場合、 |
AOwner
|
アクションの所有者です。通常は、フォームまたはデータ モジュールです。 |
FrameworkType
|
アクションが VCL フレームワーク用に作成されたものか FireMonkey(FMX)フレームワーク用に作成されたものかを定義します。このパラメータのデフォルト値(または このパラメータは、VCL アクションが FireMonkey アプリケーションで使われる(またはその逆の)状況を回避するために使われます。そのような状況では、アプリケーションのサイズが著しく増加したり、MacOS で Windows API を呼び出すなどして実行エラーが発生する結果になる可能性があるからです。 |