FMX.Utils.TNonReentrantHelper.Execute

From RAD Studio API Documentation
Jump to: navigation, search

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 */;

Properties

Type Visibility Source Unit Parent
function public
FMX.Utils.pas
FMX.Utils.hpp
FMX.Utils TNonReentrantHelper


Description

Executes a non-reentrable procedure using a guard variable.

The Execute method is overloaded:

  • The first overloaded method executes the non-reentrable procedure TProc, using the guard variable Guard. Execute returns True if the procedure is executed.
  • The second overloaded method executes the non-reentrable procedure TProc<A> (procedure with an argument of type A). Execute returns True if the procedure is executed.
  • The third overloaded method executes the non-reentrable function TFunc<R>. Execute returns:
    • The function result (of type R) if the function is executed.
    • The default value of type R if the code is not executed.
  • The fourth overloaded method executes the non-reentrable function TFunc<A,R> (an argument of type A and the result type of R). Execute returns:
    • The function result (of type R) if the function is executed.
    • The default value of type R if the code is not executed.

See Also