FMX.Utils.TNonReentrantHelper.Execute
Delphi
class function Execute(var Guard: Boolean; const Proc: TProc): Boolean; overload;
class function Execute<A>(var Guard: Boolean; const Proc: TProc<A>; const Arg: A): Boolean; overload;
class function Execute<R>(var Guard: Boolean; const Func: TFunc<R>; const Default: R): R; overload;
class function Execute<A; R>(var Guard: Boolean; const Func: TFunc<A, R>; const Arg: A; const Default: R): R; overload;
C++
__classmethod bool __fastcall Execute(bool &Guard, const System::Sysutils::_di_TProc Proc)/* overload */;
template<typename A> __classmethod bool __fastcall Execute(bool &Guard, const System::DelphiInterface<System::Sysutils::TProc__1<A> > Proc, const A Arg)/* overload */;
template<typename R> __classmethod R __fastcall Execute(bool &Guard, const System::DelphiInterface<System::Sysutils::TFunc__1<R> > Func, const R Default)/* overload */;
template<typename A, typename R> __classmethod R __fastcall Execute(bool &Guard, const System::DelphiInterface<System::Sysutils::TFunc__2<A,R> > Func, const A Arg, const R Default)/* overload */;
プロパティ
| 種類 | 可視性 | ソース | ユニット | 親 |
|---|---|---|---|---|
| function | public | FMX.Utils.pas FMX.Utils.hpp |
FMX.Utils | TNonReentrantHelper |
説明
ガード変数を使用して、再入不能な手続きを実行します。
Execute メソッドは、以下のようにオーバーロードされています。
- 第 1 のオーバーロード メソッドは、ガード変数
Guardを使用して再入不能な手続きTProcを実行します。手続きが実行されると Execute はTrueを返します。 - 第 2 のオーバーロード メソッドは、再入不能な手続き
TProc<A>(A型の引数を受け取る手続き)を実行します。手続きが実行されると Execute はTrueを返します。 - 第 3 のオーバーロード メソッドは、再入不能な関数
TFunc<R>を実行します。Execute は以下を返します。- 関数が実行された場合には関数の結果(
R型) - コードが実行されなかった場合には型
Rのデフォルト値。
- 関数が実行された場合には関数の結果(
- 第 4 のオーバーロード メソッドは、再入不能な関数
TFunc<A,R>(引数の型がA、結果の型がR)を実行します。Execute は以下を返します。- 関数が実行された場合には関数の結果(
R型) - コードが実行されなかった場合には型
Rのデフォルト値。
- 関数が実行された場合には関数の結果(