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 */;
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
function | public | FMX.Utils.pas FMX.Utils.hpp |
FMX.Utils | TNonReentrantHelper |
Description
Exécute une procédure non réentrante à l'aide d'une variable guard.
La méthode Execute est surchargée :
- La première méthode surchargée exécute la procédure non réentrante
TProc
à l'aide de la variable guardGuard
. Execute renvoieTrue
si la procédure est exécutée. - La seconde méthode surchargée exécute la procédure non réentrante
TProc<A>
(procédure possédant un argument de typeA
). Execute renvoieTrue
si la procédure est exécutée. - La troisième méthode surchargée exécute la fonction non réentrante
TFunc<R>
. Execute renvoie :- Le résultat de la fonction (de type
R
) si la fonction est exécutée. - La valeur par défaut de type
R
si le code n'est pas exécuté.
- Le résultat de la fonction (de type
- La quatrième méthode surchargée exécute la fonction non réentrante
TFunc<A,R>
(argument de typeA
et type de résultatR
). Execute renvoie :- Le résultat de la fonction (de type
R
) si la fonction est exécutée. - La valeur par défaut de type
R
si le code n'est pas exécuté.
- Le résultat de la fonction (de type