IActiveScriptParseProcedureOld::ParseProcedureTextIActiveScriptParseProcedureOld::ParseProcedureText

Analyse de la procédure de code donnée et ajoute une procédure anonyme à l’espace de noms.Parses the given code procedure and adds an anonymous procedure to the name space.

SyntaxeSyntax

HRESULT ParseProcedureText(  
   LPCOLESTR    pstrCode,  
   LPCOLESTR    pstrFormalParams,  
   LPCOLESTR    pstrItemName,  
   IUnknown*    punkContext,  
   LPCOLESTR    pstrDelimiter,  
   DWORD_PTR    dwSourceContextCookie,  
   ULONG        ulStartingLineNumber,  
   DWORD        dwFlags,  
   IDispatch**  ppdisp  
);  

ParamètresParameters

pstrCode
[in] Le texte de la procédure à évaluer.[in] The procedure text to evaluate. L’interprétation de cette chaîne varie selon le langage de script.The interpretation of this string depends on the scripting language.

pstrFormalParams
[in] Noms de paramètres formels de la procédure.[in] Formal parameter names for the procedure. Les noms de paramètres doivent être séparés par les délimiteurs appropriés pour le moteur de script.The parameter names must be separated with the appropriate delimiters for the scripting engine. Les noms ne doivent pas être placées entre parenthèses.The names should not be enclosed in parentheses.

pstrItemName
[in] Le nom de l’élément nommé qui fournit le contexte dans lequel la procédure doit être évaluée.[in] The name of the named item that gives the context in which the procedure is to be evaluated. Si ce paramètre est NULL, l’évaluation du code dans un contexte global du moteur de script.If this parameter is NULL, the code is evaluated in the scripting engine's global context.

punkContext
[in] L’objet de contexte.[in] The context object. Cet objet est réservé pour une utilisation dans un environnement de débogage, où ce contexte peut être fourni par le débogueur pour représenter un contexte d’exécution actif.This object is reserved for use in a debugging environment, where such a context may be provided by the debugger to represent an active run-time context. Si ce paramètre est NULL, le moteur utilise pstrItemName pour identifier le contexte.If this parameter is NULL, the engine uses pstrItemName to identify the context.

pstrDelimiter
[in] Le délimiteur de fin de la procédure.[in] The end-of-procedure delimiter. Lorsque pstrCode est analysé à partir d’un flux de texte, l’hôte utilise généralement un délimiteur, telles que les guillemets («), pour détecter la fin de la procédure.When pstrCode is parsed from a stream of text, the host typically uses a delimiter, such as two single quotation marks (''), to detect the end of the procedure. Ce paramètre spécifie le délimiteur utilisé par l’hôte, ce qui permet au moteur de script pour fournir certains conditionnel, prétraitement primitifs (par exemple, en remplaçant un guillemet simple ['] avec deux guillemets simples à utiliser comme délimiteur).This parameter specifies the delimiter that the host used, allowing the scripting engine to provide some conditional, primitive preprocessing (for example, replacing a single quotation mark ['] with two single quotation marks for use as a delimiter). Exactement comment (et si) le moteur script utilise ces informations varient selon le moteur de script.Exactly how (and if) the scripting engine uses this information depends on the scripting engine. Définissez ce paramètre sur NULL si l’ordinateur hôte n’utilisez pas un délimiteur pour marquer la fin de la procédure.Set this parameter to NULL if the host did not use a delimiter to mark the end of the procedure.

dwSourceContextCookie
[in] Valeur définie par l’application qui est utilisée à des fins de débogage.[in] Application-defined value that is used for debugging purposes.

ulStartingLineNumber
[in] Valeur de base zéro qui spécifie la ligne à laquelle l’analyse commence.[in] Zero-based value that specifies at which line the parsing will begin.

dwFlags
[in] Indicateurs associés à la procédure.[in] Flags associated with the procedure. Peut être une combinaison de ces valeurs.Can be a combination of these values.

ConstanteConstant ValeurValue SignificationMeaning
SCRIPTPROC_ISEXPRESSIONSCRIPTPROC_ISEXPRESSION 0x000000200x00000020 Indique que le code dans pstrCode est une expression qui représente la valeur de retour de la procédure.Indicates that the code in pstrCode is an expression that represents the return value of the procedure.
SCRIPTPROC_IMPLICIT_THISSCRIPTPROC_IMPLICIT_THIS 0x000001000x00000100 Indique que le this pointeur est inclus dans l’étendue de la procédure.Indicates that the this pointer is included in the scope of the procedure.
SCRIPTPROC_IMPLICIT_PARENTSSCRIPTPROC_IMPLICIT_PARENTS 0x000002000x00000200 Indique que les parents de le this pointeur sont inclus dans l’étendue de la procédure.Indicates that the parents of the this pointer are included in the scope of the procedure.

ppdisp
[out] Retourne un wrapper de distribution dans lequel la méthode par défaut est la procédure analysée par cette méthode.[out] Returns a dispatch wrapper where the default method is the procedure parsed by this method.

Valeur de retourReturn Value

La méthode retourne HRESULT.The method returns an HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.Possible values include, but are not limited to, those in the following table.

ValeurValue DescriptionDescription
S_OK La méthode a réussi.The method succeeded.
E_INVALIDARG Un argument n’était pas valide.An argument was invalid.
E_POINTER Un pointeur non valide a été spécifié.An invalid pointer was specified.
E_NOTIMPL Cette méthode n'est pas prise en charge.This method is not supported. Le moteur de script ne prend pas en charge l’ajout d’exécution des procédures pour l’espace de noms.The scripting engine does not support run-time addition of procedures to the name space.
E_UNEXPECTED L’appel n’était pas attendu (par exemple, le moteur de script est dans l’état non initialisé ou fermé).The call was not expected (for example, the scripting engine is in the uninitialized or closed state).
OLESCRIPT_E_SYNTAX Une erreur de syntaxe non spécifiée s’est produite dans la procédure.An unspecified syntax error occurred in the procedure.
S_FALSE Le moteur de script ne prend pas en charge un objet de distribution ; le ppdispparamètre est défini sur NULL.The scripting engine does not support a dispatch object; the ppdispparameter is set to NULL.

RemarquesRemarks

Aucun code de script n’est évaluée pendant cet appel ; au lieu de cela, la procédure est compilée dans une méthode sur ppdisp où il peut être appelé par le script ultérieurement.No script code is evaluated during this call; rather, the procedure is compiled into a method on ppdisp where it can be called by the script later.

Cette interface est déconseillée en faveur de la IActiveScriptParseProcedure interface.This interface is deprecated in favor of the IActiveScriptParseProcedure interface. Le IActiveScriptParseProcedure::ParseProcedureText méthode est similaire à cette méthode, mais permet de spécifier le nom de procédure.The IActiveScriptParseProcedure::ParseProcedureText method is similar to this method, but it allows the procedure name to be specified. Dans tous les cas, IActiveScriptParseProcedure::ParseProcedureText doit être utilisé.In all circumstances, IActiveScriptParseProcedure::ParseProcedureText should be used.

Voir aussiSee Also

Iactivescriptparseprocedureold, Interface IActiveScriptParseProcedureOld Interface
IActiveScriptParseProcedure::ParseProcedureTextIActiveScriptParseProcedure::ParseProcedureText