Correzioni
copia linkIntroduzione
Questo capitolo contiene l'elenco dei malfunzionamenti corretti in questa versione.
IDE: Variabile in componente e metodo in un altro | In un caso molto particolare si otteneva un errore di compilazione |
IDE: Duplicazione metodo base | Se, in una gerarchia tra classi, si duplicava un metodo della classe base venivano rinominati tutti i metodi delle classi estese, aggiungendo il testo " 1" alla fine |
IDE: Cambiare numero operazioni annullabili | Se si cambiava il numero di operazioni annullabili del progetto e si inseriva un numero superiore a 2147483647 si otteneva un errore |
IDE: Creazione nuovi metodi di interfaccia | Se si creava un nuovo metodo di un'interfaccia veniva creata una nuova cartella anche se già presente in lingua differente |
IDE: Trova dove usato e sotto-collection di variabili | In un caso molto particolare la ricerca "trova dove usato" non forniva il risultato corretto |
IDE: Modifica tabella SelectIntoRS e database | Se si cambiava il collegamento a tutte le tabelle di un'istruzione di tipo select-into-variables o select-into-RS si otteneva un comportamento non voluto |
IDE: Duplicazione metodi di interfaccia | Se si duplicava un metodo di interfaccia si otteneva un comportamento non previsto |
IDE: Riferimento a proprietà di classe base | Se si utilizzava un riferimento ad una classe estesa per estrarre l'indice di una proprietà contenuta in una classe base si otteneva un errore di compilazione |
IDE: Componenti dinamici e web service | L'URL di una variabile di tipo web service in un componente caricato dinamicamente era stringa vuota |
IDE: Importazione campo contatore | Il flag contatore di un nuovo campo non veniva importato correttamente se si importava la struttura di un database e la tabella era già esistente |
IDE: Controllo directory incorporata | Il miglioramento introdotto in versione 22.0 che verificava le modifiche alla directory custom incorporata produceva falsi positivi se era attiva l'ora legale |
IDE: Istruzione select-into-variables su IMDB commentata | Se si creava un'istruzione di select-into-variables e si commentava si potevano ottenere errori di compilazione se la query era su IMDB e la tabella IMDB conteneva molti campi con nome simile |
IDE: Command Set innestati e flag | Se si spostava un Command Set di un tipo all'interno di un Command Set di altro tipo si ottenevano errori a run-time |
IDE: Spostamento procedure tra classi | Se si spostava una procedura tra classi e la procedura conteneva un'istruzione del tipo "this.metodo" ti potevano ottenere errori di compilazione |
IDE: SQLite e ricreazione struttura con salvataggio dei dati | Se si ricreava la struttura di un database SQLite salvando i dati esistenti si potevano ottenere errori |
IDE: Funzione che restituisce boolean | Se, all'interno di una funzione che restituiva boolean si ritornava il valore di una chiamata a proc che restituiva un'intero si otteneva un errore di compilazione |
IDE: Importazione con sorgenti e librerie client | Instant Developer non aggiornava le librerie client quando si importava un componente con sorgenti |
IDE: Chiudere documentazione contestuale flottante | Impossibile chiudere la documentazione contestuale se la videata è in modalità Flottante |
IDE: Copia query e clausole OrderBy | Se si tirava una query su un'altra (per copiare la prima nella seconda) le OrderBy non venivano copiate correttamente |
IDE: Web service e chiamate a metodi di componente | Se, dall'interno di un metodo di una classe privata di web service, si chiamava una funzione contenuta in un componente si otteneva un errore di compilazione |
IDE: Usare database vuoti da codice | Se si utilizzava da codice un database vuoto si otteneva un errore di compilazione |
IDE: Data ultima apertura portale | La data di ultima apertura dei progetti nel portale dell'IDE non era corretta |
IDE: Variabile di tipo Web Service con flag NEW attivo | Se si creava una variabile di tipo web service (ovvero di tipo classe pubblica di un web service) e si attivava il flag NEW si otteneva un errore di compilazione |
CMP: Importazione componenti e librerie esterne | Se si importava senza sorgenti un componente che utilizzava una libreria esterna (blu) si otteneva un comportamento non previsto |
VCE: Duplicazione di righe di codice | La copia di una variabile tra procedure differenti poteva generare errori in un caso particolare |
TW: Recupero directory custom incorporata | Recuperare l'ultima versione di un'applicazione con directory custom incorporata modificata in check-in precedenti non funzionava correttamente |
IDM: Pubblicazione su più database SQL Server | Se si pubblicava un'applicazione su più database sullo stesso server si otteneva un comportamento non previsto se erano presenti trigger con flag "Usa trigger" attivato |
RTC: Configurazione modificatori span di book | Se si attivava il modulo RTC e si configuravano i modificatori di una box la configurazione non veniva riportata sugli span così come avviene senza RTC |
C#: Servizi NT e libreria Chilkat | Se si compilava un servizio NT in tecnologia C# che utilizzava la libreria Chilkat si otteneva un errore a run-time |
C#: For-each-row scrivibili e Postgres | Se si utilizzava un blocco for-each-row scrivibile in C# e si utilizzava il database Postgres si poteva ottenere un errore durante l'esecuzione delle operazioni di scrittura al termine del blocco |
C#: Query miste su SQL Server | Se una query conteneva riferimenti a tabelle di database differenti si otteneva un errore a run-time se si utilizzava la tecnologia C# |
C#: MessageConfirmEx e carattere TAB | Se si chiamava la funzione MessageConfirmEx passando, come primo parametro, un testo contenente il carattere TAB si otteneva un errore |
CORE: Maschere predefinite non applicate | Le applicazioni non utilizzavano le mashere date e time indicate nei parametri di compilazione se l'applicazione era compilata con .NET Core |
JAVA: SimpleCrypter e carattere £ | Se si utilizzava il carattere "£" all'interno del valore fornito al parametro Chiave della funzione ecrypt si otteneva un errore |
JAVA: Funzioni Today e Time | Le funzioni Today e Time non funzionavano correttamente tra mezzanotte e l'una |
JAVA: Funzione Shell | Se si utilizzava la funzione di libreria shell in un'applicazione in tecnologia Java si otteneva un errore di compilazione |
JAVA: Date con anno minore di 100 | Se in un campo di pannello di tipo date si scriveva una data con anno minore di 100 (per esempio 01/02/0045) il valore non veniva acquisito |
JAVA: Modifica campi datetime con millisecondi | Se si modificavano o eliminavano righe che erano state generate da applicazioni di terze parti si potevano ottenere errori |
JAVA: Grafico ChartJS con range | Se si configurava uno degli assi indicando un valore minimo e massimo il grafico non veniva mostrato |
JAVA: Metodo duplicate e parametri opzionali | Se si chiamava, in Java, il metodo Duplicate della libreria IDDocument e si valorizzavano solo i primi 3 parametri il parametro Collection veniva ignorato |
DBA: Funzione ToDate per Postgres | L'espressione per la funzione di libreria ToDate per il database Postgres non era corretta |
DBA: AS400 e RTC | Impossibile creare i dati RTC su database AS400 |
DBA: Campi di lunghezza superiore a 9999 | Se si importava un database con campi di tipo varchar(max) la lunghezza del campo veniva impostata a 9999 |
DBA: AS400 e componente RTCDesigner | Il componente RTCDesigner generava errore se si utilizzava con un database AS400 |
DO: Documento aggiunto due volte ad una collection | Se durante il caricamento di un documento si aggiungeva due volte lo stesso figlio ad una delle proprie collection si otteneva un comportamento non previsto |
IDRE: Query ed SQL expression | Se si inseriva un riferimento ad un campo di pannello come SQL expression di una query di report si otteneva un errore di compilazione |
IDRE: Tooltip di span checkbox | Se l'utente modificava il valore di uno span editabile di tipo checkbox il tooltip non si aggiornava |
IDRE: Span editabili multiriga e stile visuale | La visualizzazione di span editabili multiriga a video non era corretta |
IDRE: Span con HTML in box spezzabili e stampa in PDF | La stampa in PDF di un book che conteneva span con HTML non era corretta se lo span era contenuto in una box spezzabile |
IDRE: Funzione GetRD3ID | Se si utilizzava la funzione di libreria GetRD3ID si otteneva un errore di compilazione |
IDRE: Book DO e liste valori | Se ad una proprietà di classe era associata una lista valori questa non veniva dichiarata quando la classe veniva usata in un book DO |
PAN: Cambio layout ed evento OnMouseDoubleClick | Se nell'evento OnMouseDoubleClick si cambiava il layout di un pannello andando in dettaglio, si otteneva un comportamento non previsto |
PAN: Valore campo con caratteri invalidi | Se si inseriva un valore contenente un carattere invalido in un campo di pannello l'applicazione mostrava il messaggio "Invalid XML format" |
PAN: Duplicazione DO e parametro PanelInsertMaxScroll | Il parametro PanelInsertMaxScroll non era stato gestito nel caso di duplicazione della riga attiva in un pannello DO |
PAN: Fuoco e tab-order avanzato | In alcuni casi il cursore non veniva portato sul campo corretto se nel pannello era stato attivato il tab-order avanzato |
PAN: Pannelli raggruppati e lookup | In un caso molto particolare se si eliminava una riga da un pannello con dati raggruppati i campi di lookup si svuotavano |
PAN: Paste e campi mascherati | L'inserimento di un valore in un campo mascherato tramite PASTE (CTRL-V) non funzionava correttamente |
PAN: Click su link di BLOB e cambio riga | Se si mostravano BLOB in layout list si potevano ottenere comportamenti non previsti in un caso molto particolare se l'utente cliccava sul link per visualizzare il contenuto del campo BLOB |
PAN: QBETip e valori QBE con spazi | Se si impostava un filtro QBE su un campo con spazi si potevano ottenere errori lato server durante il calcolo del QBETip |
PAN: Apertura gruppi lato server | Se un pannello mostrava dati raggruppati non era possibile aprirli lato server mediante il metodo ExpandGroup |
PAN: Campi checkbox senza value list | Se si impostava uno stile visuale con flag "checkbox" attivo ad un campo che non aveva una lista valori si otteneva un errore se si provava a modificarne il valore a run-time |
PAN: Proprietà DO opzionali | Un campo di pannello collegato ad una proprietà DO non derivata da un campo del database era sempre opzionale, indipendentemente dal valore del flag Opzionale della proprietà DO |
PAN: CKEditor e pulsanti colore | Dopo l'aggiornamento di CkEditor, avvenuto in versione 22.0, i pulsanti per la modifica del colore non erano più visibili |
PAN: Funzione GetEnabled e campi statici | La funzione GetEnabled restituiva sempre FALSE nel caso di campi statici anche se questi erano cliccabili |
PAN: Multi-selezione e layout FORM | Se in layout LIST era mostrata la multi-selezione e si passava in layout FORM non era possibile eliminare la riga attiva |
PAN: Pannelli raggruppati e apertura gruppi da codice | Se si aprivano i gruppi di un pannello mediante il metodo ExpandGroup le righe rimanevano vuote |
GRA: Tooltip su grafici GoogleChart | Impossibile vedere i dettagli relativi ad un punto del grafico se l'app era avviata su dispositivo |
TRE: Raw click sull'albero | I parametri Doc ed Hash dell'evento OnMouseClick fornivano rispettivamente un documento o un nodo casuale se si cliccava sull'albero nella zona dove non erano presenti nodi |
BTS: Mascheratura e campo data in errore | Se, in un campo data, si digitava un valore invalido il sistema svuotava il campo ma non ripristinava la maschera |
BTS: Combo non acquisisce valore | Impossibile cambiare il valore di una combo se gli item della stessa possedevano uno stile visuale |
BTS: Definizione grigliatura riquadri a design-time | Se si impostava la grigliatura a design-time di un solo riquadro il sistema non adattava correttamente la videata |
BTS: Intestazioni colonne pannello di sotto videata | In un caso molto particolare le intestazioni delle colonne di un pannello non erano allineate se il pannello era inserito in una sotto videata |
BTS: Proprietà CanSort del pannello | Se si valorizzava a false la proprietà CanSort del pannello si otteneva un comportamento non corretto |
BTS: Svuotare campi combo super attivi | La modifica del valore di un campo combo super attivo non veniva applicata lato client |
BTS: Visualizzazione blob in anteprima | La visualizzazione di un blob di tipo immagine in anteprima non era corretta |
BTS: Pannello collassato e refresh del browser | In un caso molto particolare la visualizzazione di un pannello collassato non era corretta |
BTS: Tempo apertura tooltip | I tooltip si aprivano dopo un secondo dal mouse-over anche se si cambiava il valore predefinito |
BTS: Pulsante Chiudi Tutte e zoom del browser | Se si aumentava di molto lo zoom del browser il pulsante Chiudi Tutte non risultava visibile se il menù conteneva tante voci |
BTS: Stile visuale con cursore uguale a MANO | Se si configurava uno stile visuale con cursore uguale a MANO (pointer) e lo si applicava su un campo in lista il cursore cambiava solo per la prima riga |
BTS: Tasto TAB e fuoco sul prossimo campo | In alcuni casi particolari se si premeva TAB l'applicazione si bloccava ed era necessario premere refresh del browser |
BTS: Videate docked | Se si apriva una videata Docked non era più possibile scrivere nei campi della videata principale |
BTS: Attivatore di campo data non mostrato | In un caso molto specifico l'attivatore di un campo data non veniva visualizzato |
ION: Funzione di libreria Find Record | La funzione di libreria FindRecord poteva generare errori in alcuni casi |
ION: PullToRefresh e cambio layout | Se si spegneva, da codice, la funzionalità "PullToRefresh" il sistema non permetteva il cambio di layout quando si attivava una riga di un pannello in lista |
ION: Impossibile rimuovere badge da tab | Dopo aver impostato un badge sulla linguetta di una tabbed view non era più possibile rimoverlo |
ION: Selezione valore e apertura tastiera | Se si apriva la tastiera e poi si cliccava sull'attivatore della combo le voci della tendina sparivano |
ION: SetAccentColor e CSS di terze parti | Se si importava un CSS di terze parti e si impostava un colore di accento si potevano ottenere errori durante l'applicazione dello stesso |
ION: Tastierino numerico su iOS 15.5 | Se si avviava un'applicazione con tema Ionic su dispositivi Apple con iOS 15.5 il tastierino numerico non era visibile |
ION: Posizione icona di comandi di toolbar | Non era possibile indicare al sistema di posizionare l'icona prima del comando |
ION: Apertura simultanea di più videate | Se si aprivano più videate si ottenevano errori nella visualizzazione |
ION: Ricerca nell'intestazione con riquadro nascosto | Se si nascondeva il riquadro di un pannello e si valorizzava a false la proprietà SearchInContent si otteneva un errore di visualizzazione |
MOB: Tabbed view senza icone | Impossibile nascondere le icone delle linguette nelle tabbed view di applicazioni mobile (Quadro e Ionic) |
MOB: Cambio tema da Ionic a Quadro | Se si cambiava il tema dell'applicazione da Ionic (predefinito) a Quadro le applicazioni non erano mostrate correttamente |
MOB: Tastiera e campi di lookup | Se si portava il cursore su un campo di lookup e si cliccava sull'attivatore veniva aperta la videata per la selezione del valore ma, una volta selezionato, si apriva anche la tastiera |
MOB: Tema Quadro su iPhone 13 | Se si eseguiva un'applicazione con tema Quadro su iPhone 13 la videata risultava tagliata in alto poiché il notch copriva la toolbar del pannello ed i relativi pulsanti |
MOB: Tema Quadro e tooltip con chiusura | Il pulsante di chiusura dei tooltip non era visibile se si utilizzava il tema quadro |
MOB: WidgetMode e menù applicazione | Se si impostava il WidgetMode a true in alcuni casi veniva mostrato il pulsante per aprire il menu dell'applicazione |
MOB: Rotazione con tabbed-view su dispositivo | Se si ruotava un dispositivo mentre era mostrata la pagina di una tabbed-view si potevano ottenere comportamenti non corretti se si ruotava nuovamente il dispositivo dopo aver cambiato pagina |
RD3: Aggiunta comandi e ridimensionamento | La visualizzazione della toolbar di una videata non era corretta se si aggiungevano più comandi nella stessa richiesta tramite il metodo AddCommand |
RD3: Campi combo e uso della tastiera | Se si usava la tastiera per scrivere il codice in un campo smartlookup e poi si usava il tasto TAB per confermare ed uscire il sistema apriva la tendina che, quindi, rimaneva aperta |
RD3: Toolbar di sotto videate contenute in tabbed view | La visualizzazione di sotto videate contenute in tabbed view non era corretta se le sotto videate contenevano command set di tipo toolbar |
RD3: Campo di ricerca e adattamento pannello | Se un pannello aveva la modalità di ricerca impostata a Campo di ricerca per ogni colonna si ottenevano comportamenti non previsti se si attivava il ridimensionamento della videata |
RD3: Fuoco in campo numerico decimale | Se si portava il fuoco in un campo numerico da codice il sistema non posizionava il cursore nel posto corretto se il campo era decimale, si utilizzava il browser Chrome ed il campo non aveva un valore |
RD3: Apertura men popup in alto a destra | In un caso molto particolare un menù popup veniva mostrato in alto a destra nello schermo |
RD3: Screen Zone e dimensioni device | In un caso molto particolare, se erano state attivate le Screen Zone e l'applicazione mobile veniva avviata su un dispositivo con dimensioni 529x962 si otteneva un'eccezione all'avvio |
RD3: Ckeditor ed evento OnMouseClick | Impossibile utilizzare la toolbar di CkEditor se si implementava l'evento OnMouseClick del pannello |
RD3: Click su oggetti SVG | Se si cliccava su un'oggetto HTML di tipo SVG su dispositivo si otteneva un errore javascript |
RD3: Intestazioni centrate e campi ad altezza variabile | Se si utilizzava il tema ZEN e si attivava la funzionalità "Righe ad altezza variabile" le intestazioni non erano centrate ma erano sempre allineate a sinistra |
RD4: For-each-row e tabelle con spazio nel nome | Se si scriveva un for-each-row su una tabella che conteneva uno spazio nel nome si otteneva un errore durante l'avvio dell'applicazione |
WEB: Conversione di stringhe in numeri | La funzione StringToNumber non funzionava correttamente se la stringa fornita rappresentava un numero molto grande |
WEB: Creazione videata multipla ed invio messaggi | Se si inviava un messaggio ad una videata multipla senza averla ancora aperta si otteneva un errore |
WEB: Parse JSON e spazio nei nomi | Impossibile visualizzare una bitmap in un PDF creato tramite un book di Instant Developer se era una bitmap a 2 colori e le dimensioni non erano multiple di 8 pixel. |
WEB: Parse JSON e stringa racchiusa tra ? | Se si chiamava il metodo Parse della libreria JSON e la stringa fornita conteneva un valore che iniziava e finiva con ? il sistema restituiva NULL |
WEB: Progress bar non funzionante | In un caso molto particolare la progress bar non funzionava |
CAR: Scansione codici Datamatrix su iOS | La scansione di codici in formato Datamatrix non funzionava su dispositivi Apple |
CAR: Creazione pacchetto Android e VersionCode | Se si creava un pacchetto per Android e il VersionCode era uguale a 1 l'applicazione non partiva |
CAR: Shell nativa e iOS 16 | Se sul dispositivo si installava iOS 16 le applicazioni offline non partivano |
Ultima modifica: 03/11/2022 / Validità: da 22.5.8700