IDE: Importazione componenti e costanti duplicate
copia linkDescrizione del difetto
In alcuni casi particolari l'importazione di un componente con sorgenti duplicava la costante di libreria true.
Quando viene importato un componente con sorgenti, InDe tenta di gestire anche l'aggiornamento delle costanti. Per capirne il motivo si pensi al seguente esempio. Si supponga esisti l'applicazione APP e che questa usi, al suo interno, la costante TRUE contenuta nella database library (N.B. la costante TRUE ha un proprio GUID che la rende univoca in tutti i progetti). Ora si supponga di importare nel progetto un componente COMP che, a sua volta, utilizzi una propria "versione" della costante TRUE con lo stesso GUID di quella già presente nel progetto ma con una descrizione. InDe, in questo caso, rileva che la costante TRUE esiste già nel progetto ma non è identica a quella usata dal componente, pertanto deve duplicare la costante TRUE e copiarne le proprietà da quella presente nell'IDZ del componente. Poi deve analizzare il componente e far sì che questo utilizzi la copia appena creata. In altre parole deve generare una nuova costante TRUE e far sì che il componente utilizzi quella.
L'algoritmo descritto sopra è corretto ma generava problemi nel caso seguente:
- il valore delle due costanti era uguale ma era cambiata una qualunque altra proprietà (nome, descrizione, stile visuale, ...)
- la costante era contenuta in una lista valori che non ammette valori duplicati (come, per esempio, la lista valori Binary Values presente in ogni progetto).
A partire dalla versione 13.1, nel caso descritto sopra InDe non duplica più la costante ma avvisa il programmatore che il componente utilizza una costante che non è identica a quella che era utilizzata dal componente poiché non può essere duplicata.
Effetti del malfunzionamento
- Il componente veniva importato ma, se si provava a compilare il progetto, si otteneva un errore di validazione che avvisava che alcune costanti avevano il valore duplicato.
Soluzioni
Non sono disponibili workaround per le versioni precedenti.
Funzionalità interessate
L'importazione di componenti con sorgenti.
Ultima modifica: 18/06/2014 / Validità: da 13.1.5700