このレコードの EntityDef オブジェクトの名前付きフック (レコード スクリプト) を実行します。
このメソッドを使用すると、実行時にレコード スクリプトを実行できます。レコード スクリプトは、ユーザーが定義するルーチンで、特定のレコード タイプに固有です。レコード スクリプトはフォーム コントロールと共に使用するか、または他のフックから呼び出します。レコード フックは、Rational ClearQuest Designer を使用して定義します。 レコード スクリプトの構文は、次のとおりです。
Function EntityDefName_RecordScriptName(param) ' param as Variant ' EntityDefName_RecordScriptName as Variant ' Hook program body End Function
このメソッドを使用して、レコードのフィールドまたはアクション フックを実行することはできません。また、レコード スクリプトから間接的である場合を除いて、グローバル フックも実行できません。
Entity オブジェクトが編集可能であるかどうかに関係なく、このメソッドは Entity オブジェクトで呼び出しできます。しかし、スクリプトで Entity オブジェクトを変更する場合、コードまたはフックで、最初に EditEntity メソッドを呼び出して、Entity オブジェクトを編集可能にする必要があります。
スクリプトでパラメータを受け入れる場合は、すべてのパラメータを単一 Variant にして (Visual Basic の場合)、その Variant を param に指定します。スクリプトは、渡されるパラメータを解釈できる必要があります。返送時には、スクリプトは単に、該当する戻り値の Variant を戻します。
Perl の場合、区切り文字として非印刷文字 (改行など) を使用して、単一文字列値を連結し、複数のパラメータを組み込むことができます。その後この文字列を、組み込み分割演算子でデコードできます。
VBScript
entity.FireNamedHook scriptName, param
Perl
$entity->FireNamedHook(scriptName, param);
VBScript
' Execute the hook "MyHook" with the specified parameters Dim params(1) params(0) = "option 1" params(1) = "option 2" returnValue = entity.FireNamedHook("MyHook", params)
Perl
# Execute the hook "MyHook" with the specified parameters $params = "option 1¥noption 2"; $returnValue = $entity->FireNamedHook("MyHook",$params); # In the hook, split them like this: my $param = shift; my @params = split '¥n', $param;