Oltre ai tipi di dati standard, è possibile definire tipi di dati personalizzati. Nell'editor DUT si possono creare unità di tipi di dati (Data type unit, DUT) come strutture, tipi di enumerazione e riferimenti.
Per una descrizione dei particolari tipi di dati standard e definiti dagli utenti, vedere la descrizione dei tipi di dati.
Per aggiungere un oggetto DUT a un'applicazione esistente, selezionare il nodo dell'applicazione nel Catalogo software > Asset > Tipi o nella Struttura applicazioni, fare clic sul pulsante verde con il segno più e selezionare DUT.... In alternativa, fare clic con il pulsante destro del mouse sul relativo nodo ed eseguire il comando Aggiungi oggetto > DUT. Per creare un oggetto DUT indipendente dall'applicazione, selezionare il nodo Globale negli Asset o nella Struttura applicazioni. Nella finestra di dialogo Add DUT immettere un Nome per la nuova unità tipo di dati e scegliere il tipo desiderato Struttura, Enumerazione, Alias o Union.
Agli oggetti DUT di tipo Enumerazione è possibile aggiungere il supporto della lista di testo. Per ulteriori informazioni, consultare la descrizione del comando Aggiungi supporto liste di testi .
Per il tipo Struttura, è possibile utilizzare il principio dell'ereditarietà, a supporto della programmazione a oggetti. Se desiderato, si potrà specificare che il DUT estende un altro DUT già definito nel progetto. Ciò significa che le definizioni del DUT esteso saranno automaticamente valide anche in quello corrente. A questo scopo, attivare l'opzione Esteso: e immettere il nome dell'altro DUT.
Fare clic su Aggiungi per confermare le impostazioni. La vista dell'editor per il nuovo DUT si apre ed è possibile iniziare la modifica.
Dichiarazione di un oggetto DUT
Sintassi
TYPE <identificatore> : <dichiarazione componenti DUT>END_TYPE
La dichiarazione dei componenti del DUT dipende dal tipo di DUT, ad esempio una struttura o un'enumerazione.
Il seguente esempio contiene due DUT, che definiscono le strutture struct1 e struct2; struct2 estende struct1 e ciò significa che è possibile utilizzare struct2.a nell'implementazione per accedere alla variabile a.
TYPE struct1 :
STRUCT
a:INT;
b:BOOL;
END_STRUCT
END_TYPE
TYPE struct2 EXTENDS struct1 :
STRUCT
c:DWORD;
d:STRING;
END_STRUCT
END_TYPE