IActiveScriptParseProcedure32::ParseProcedureTextIActiveScriptParseProcedure32::ParseProcedureText

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

SyntaxeSyntax

HRESULT ParseProcedureText(  
    LPCOLESTR pstrCode,              // address of procedure text  
    LPCOLESTR pstrFormalParams,      // address of formal parameter names  
    LPCOLESTR pstrProcedureName,     // address of procedure name  
    LPCOLESTR pstrItemName,          // address of item name  
    IUnknown *punkContext,           // address of debugging context  
    LPCOLESTR pstrDelimiter,         // address of end-of-procedure delimiter  
    DWORD_PTR dwSourceContextCookie, // application-defined value for debugging  
    ULONG ulStartingLineNumber,      // starting line of the script  
    DWORD dwFlags,                   // procedure flags  
    IDispatch **ppdisp               // receives IDispatch pointer  
);  

ParamètresParameters

pstrCode
[in] Adresse du texte de la procédure à évaluer.[in] Address of 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] Adresse du nom de paramètre formel pour la procédure.[in] Address of 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.

pstrProcedureName
[in] Adresse du nom de la procédure doit être analysé.[in] Address of procedure name to be parsed.

pstrItemName
[in] Adresse du nom d’élément qui fournit le contexte dans lequel la procédure doit être évaluée.[in] Address of the item name 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] Adresse de l’objet de contexte.[in] Address of 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] Adresse du délimiteur de fin de la procédure.[in] Address of 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 de l’hôte utilisé, ce qui permet au moteur de script pour fournir certains prétraitement primitifs conditionnelle (par exemple, en remplaçant un guillemet simple ['] par 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 script permet de moteur dépend de l’utilisation de ces informations sur le moteur de script.Exactly how (and if) the scripting engine makes use of 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 commencera à.[in] Zero-based value that specifies which line the parsing will begin at.

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

ValeurValue SignificationMeaning
SCRIPTPROC_ISEXPRESSIONSCRIPTPROC_ISEXPRESSION 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. Par défaut, le code peut contenir une expression, une liste d’instructions ou tout autre autorisé dans une procédure par le langage de script.By default, the code can contain an expression, a list of statements, or anything else allowed in a procedure by the script language.
SCRIPTPROC_IMPLICIT_THISSCRIPTPROC_IMPLICIT_THIS 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 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] Adresse du pointeur de l’objet qui contient des méthodes globales et les propriétés du script.[out] Address of the pointer for the object containing the script's global methods and properties. Si le moteur de script ne prend pas en charge un tel objet NULL est retourné.If the scripting engine does not support such an object, NULL is returned.

Valeur de retourReturn Value

Retourne l’une des valeurs suivantes :Returns one of the following values:

Valeur de retourReturn Value SignificationMeaning
S_OK Opération réussie.Success.
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 ppdisp paramètre est défini sur NULL.The scripting engine does not support a dispatch object; the ppdisp parameter 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 à l’état de script où il peut être appelé par le script ultérieurement.No script code is evaluated during this call; rather, the procedure is compiled into the script state where it can be called by the script later.

Voir aussiSee Also

IActiveScriptParseProcedure32IActiveScriptParseProcedure32