Gli script dei record sono una forma generica di hook definiti in risposta ad un evento su un modulo o da altri hook. È possibile scrivere uno script che esegue il funzionamento personalizzato nel contesto di un record. Gli script del record sono eseguiti nel contesto del record selezionato attualmente. Una routine secondario dello script record è specifica ad un tipo di record.
Di solito, gli script del record vengono utilizzati per implementare un'azione che si desidera eseguire in risposta ad un evento di selezione su un pulsante o su una voce del menu di contesto associato ad un particolare campo su un modulo. Ad esempio, uno script del record può inviare i dati relativi al record corrente su un altro sistema.
È possibile eseguire uno script del record in tre modi:
Ad esempio, nello schema TeamTest, lo script del record Build_Properties consente agli utenti di visualizzare le proprietà della build selezionata. Lo script è associato ad un pulsante che consente di eseguire lo script. Lo script del record Build_Properties richiama le informazioni relative alla build dal repository di Rational ClearQuest e le visualizza in una finestra.
Il seguente esempio mostra la sintassi di script di record Visual Basic:
Function RecordName_HookName(param) ' param come Variant ' RecordName_HookName come Variant ' ... End Function
Durante il richiamo di uno script del record da un altro hook, il parametro trasferito nell'hook è una variante che contiene i dati appropriati. Se l'hook restituisce le informazioni all'hook richiamante, tali informazioni sono restituite in una variante.
Quando viene associato ad un controllo del modulo, il parametro trasferito nel metodo contiene un'istanza della classe EventObject. Questa istanza contiene le informazioni sull'evento che ha causato il richiamo dell'hook. (Consultare Eventi del controllo del modulo). Il software Rational ClearQuest non prevede un valore di ritorno dagli script del record quando sono associati ai controlli del modulo. Un valore di ritorno non nullo da un hook del record viene interpretato come un errore e può essere visualizzato in una casella messaggi dal client Rational ClearQuest.
Gli script dei record possono essere associati a pulsanti, campi di testo ed elenchi. Quando vengono associati ad un pulsante, la selezione del pulsante causa automaticamente l'esecuzione dell'hook. Quando vengono associati ai campi di testo e ai controlli relativi all'elenco, l'hook viene aggiunto al menu di contesto per il controllo.
È anche possibile associare uno script del record con un'azione il cui tipo è RECORD_SCRIPT_ALIAS. Questa associazione consente di inserire un pulsante personalizzato nel menu Azione di un modulo Rational ClearQuest.
Rational ClearQuest Web visualizza il valore di ritorno di uno script del record richiamato da un pulsante. Se il valore di ritorno è una stringa, viene considerato come un messaggio di errore e l'hook ha esito negativo.
Se il valore di ritorno della funzione di script del record non viene impostato in modo esplicito, restituisce un valore vuoto o nullo che indica l'esecuzione corretta dell'hook.
Per abilitare gli hook del record per il Web, selezionare Abilita per Web nella scheda Esteso della pagina di proprietà del controllo.
In Rational ClearQuest Web, gli hook del record sono eseguiti sul server Rational ClearQuest Web. Per questo motivo, non richiamare le routine di Windows che consentono la visualizzazione di una finestra; la finestra viene visualizzata sul server anziché sul client. Rational ClearQuest Web Server imposta un oggetto Session.NameValue denominato CQ_WEB_SESSION all'avvio di una sessione del server in modo tale che gli script possano essere abilitati al Web.
Quando uno script del record viene attivato da un controllo del modulo, il software Rational ClearQuest trasferisce lo script del record ad un oggetto EventObject come proprio parametro. Questo oggetto contiene le informazioni sul tipo di evento verificatosi. I diversi controlli possono generare diversi tipi di eventi, inclusi i pulsanti, le selezioni di voci e così via. È necessario utilizzare le informazioni nell'oggetto EventObject per determinare la modalità di gestione degli eventi.
I seguenti tipi di hook sono supportati per i controlli del modulo:
Nella seguente tabella vengono elencati i tipi di evento supportati per ciascun controllo e le informazioni aggiuntive fornite dall'oggetto evento. Le costanti elencate nella colonna del tipo di eventi supportato fanno parte del tipo numerato Tipo di evento.
Tipo di controllo | Tipo di evento supportato | Ulteriori informazioni |
---|---|---|
Pulsante | AD_BUTTON_CLICK | Nome del pulsante |
Casella combinata | AD_CONTEXMENU_ITEM_SELECTION | Stringa nulla |
Casella di elenco a discesa | AD_CONTEXMENU_ITEM_SELECTION | Stringa nulla |
Casella di elenco | AD_CONTEXMENU_ITEM_SELECTION | Selezione del valore del campo corrente |
Vista di elenco | AD_CONTEXMENU_ITEM_SELECTION | Selezione del valore del campo corrente |
Casella di testo | AD_CONTEXMENU_ITEM_SELECTION | Selezione del valore del campo corrente |
Casella combinata a discesa | AD_CONTEXMENU_ITEM_SELECTION | Stringa nulla |