FireNamedHook

Descrizione

Esegue un hook denominato (script di record) di questo Oggetto EntityDef del record.

È possibile utilizzare questo metodo per eseguire uno script di record in fase di runtime. Gli script di record sono routine definite dall'utente e specifiche per un tipo specifico di record. È possibile utilizzare gli script di record insieme ai controlli modulo o è possibile richiamarli da altri hook. Gli hook di record vengono definiti utilizzando Rational ClearQuest Designer. La sintassi per gli script di record è la seguente:

Function EntityDefName_RecordScriptName(param)
   ' param as Variant 
   ' EntityDefName_RecordScriptName as Variant 

   ' Hook program body 
End Function 

Non è possibile utilizzare questo metodo per eseguire un hook di campo o di azione di un record. È possibile eseguire un hook globale solo indirettamente dallo script di record.

È possibile richiamare questo metodo o un oggetto Entity a prescindere dal fatto che sia modificabile o meno. Tuttavia, se lo script tenta di modificare l'oggetto Entity, il codice o il codice hook deve prima richiamare il metodo EditEntity per rendere l'oggetto Entity modificabile.

Se lo script utilizza qualsiasi parametro, inserire tutti i parametri in un singolo valore Variant (per Visual Basic) e specificare tale valore in param. Lo script deve essere in grado di interpretare i parametri che contiene. In fase di restituzione, lo script può in modo simile restituire un valore Variant con qualsiasi valore di ritorno appropriato.

Per Perl, è possibile includere più parametri tramite la concatenazione di semplici valori stringa con un carattere non stampabile come un separatore (ad esempio, il carattere di nuova riga). Questa stringa può essere decodificata con l'operatore split integrato.

Sintassi

VBScript

entity.FireNamedHook scriptName, param 

Perl

$entity->FireNamedHook(scriptName, param); 
Identificativo
Descrizione
entity
Un oggetto Entity che rappresenta un record di dati dell'utente. All'interno di un hook, se si omette questa parte della sintassi, viene utilizzato l'oggetto Entity corrispondente al record di dati corrente (solo VBScript).
scriptName
Una stringa contenente il nome dell'hook da eseguire.
param
Per Visual Basic, un valore Variant contenente i parametri che si desidera trasferire all'hook. Per Perl, una stringa contenente i parametri che si desidera trasferire all'hook.
Valore di ritorno
Una stringa che indica lo stato della chiamata all'hook. Se l'hook viene eseguito con esito positivo, questo metodo restituisce una stringa vuota (""), in caso contrario la stringa restituita contiene una descrizione dell'errore.

Esempi

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; 

Feedback