Sono andato a rileggere le altre novità della versione 7.
In effetti non ricordavo che fosse da questa versione ma questa novità è secondo me la più importante ed utile:
--- Variables and subs renaming based on the Find All References feature
Come per quello di poco fà: cosa ricordi? Il mio post può essere, ma il link è ad un nuovo post, nel quale segnalo un bug che, pur essendo relativo "solo" ad un warning, potrebbe essere legato al refactoring, che potrebbe magari avere conseguenze.
Come per quello di poco fà: cosa ricordi? Il mio post può essere, ma il link è ad un nuovo post, nel quale segnalo un bug che, pur essendo relativo "solo" ad un warning, potrebbe essere legato al refactoring, che potrebbe magari avere conseguenze.
Ultimo posto poi chiudo in questo Thread... non potrebbe... ma ha conseguenze e il forum ne é pieno, codice da ricompilare, BUGS vari ancora inspiegabili ecc... (Promote 6.80)
eh... adesso ho riaperto il progetto con la versione 5.00 di b4j ed il warning rimane! (certo il progetto oramai era stato salvato la versione 5.51 ma... boooh).
Mi sa tanto che farò come ho inutilmente consigliato ad altri , anche se si trattava di B4A: creo un nuovo ed importo i moduli. Se nemmeno questo funzionerà, userò il copia ed incolla. Se nemmeno questo funzionerà... butterò pc e dispositivi Android
eh... adesso ho riaperto il progetto con la versione 5.00 di b4j ed il warning rimane! (certo il progetto oramai era stato salvato la versione 5.51 ma... boooh).
Mi sa tanto che farò come ho inutilmente consigliato ad altri , anche se si trattava di B4A: creo un nuovo ed importo i moduli. Se nemmeno questo funzionerà, userò il copia ed incolla. Se nemmeno questo funzionerà... butterò pc e dispositivi Android
Piccolissimo mio errore: ho ricreato il progetto usando b4j 5.00 perché CREDEVO che in questa versione non fosse stato ancora implementato il semi-refactoring, invece lo è stato per la prima volta proprio in questo. Ergo, rifare tutto usando la versione precedente, la 4.70
AHHH, e menomale che ho conservato tutte le versioni, altrimenti nemmeno potrei eseguire queste prove!!!
Già, ma a quale scopo provare? Se il warning sparisse (e magari un bug nel mio progetto che potrebbe essere legato a questo - va beh, difficile spiegare) mi ritroverei FORSE con il server B4J momentaneamente funzionante ma con una versione nella quale mancano tutte le funzionalità delle versioni successive, che non sono poche, non c'è solo il simil-refactoring!
Non riuscivo a trovare il posto in cui fosse quella variabile inutilizzata, che effettivamente esiste, per due motivi:
1) se fai click su un warning come quello, normalmente l'editor si posiziona sulla riga incriminata, ovvero quella in cui tu hai dichiarato la variabile; questo non succede, invece, se hai dichiarato la variabile in un ciclo For Next. In questo caso, l'editor si posiziona sul nome della routine che contiene quel ciclo (quindi piccolo bug dell'IDE);
2) il warning mostra il nome della variabile tutto in caratteri minuscoli, non come tu lo hai scritto nel codice; dato che io ho cercato il nome come stringa (CTRL+H) ma avevo impostato le due opzioni possibili, ovvero lunghezza identica e identico "formato dei caratteri" (maiuscole e minuscole) la variabile non veniva trovata.
Appurato che il DoEvents va usato con le moolta cautela ci sono ambiti in cui funziona egregiamente. La classe Flexible table https://www.b4x.com/android/forum/threads/class-flexible-table.30649/, alla versione 1.43 usa spesso il doevents.
Se la compilo con la versione 7.01 non funziona? Devo rischiare di modificare il codice con il sleep(0)?
Ricapitolando con la 7.01 ogni DoEvents va tolto e non abbiamo una istruzione decente che lo sostituisca?
Appurato che il DoEvents va usato con le moolta cautela ci sono ambiti in cui funziona egregiamente. La classe Flexible table https://www.b4x.com/android/forum/threads/class-flexible-table.30649/, alla versione 1.43 usa spesso il doevents.
Se la compilo con la versione 7.01 non funziona? Devo rischiare di modificare il codice con il sleep(0)?
non devi sostituire, anche perché non equivalgono. Casomai devi riscrivere il codice per adattarlo all'uso con Sleep, ma non è necessario perché è deprecato ma esiste ancora e funziona.
A volte si deve ricompilare per funzionare su B4A 7 per motivi che a noi umani non è concesso conoscere
non devi sostituire, anche perché non equivalgono. Casomai devi riscrivere il codice per adattarlo all'uso con Sleep, ma non è necessario perché è deprecato ma esiste ancora e funziona.
A volte si deve ricompilare per funzionare su B4A 7 per motivi che a noi umani non è concesso conoscere
La versione 1.43 è una classe (codice B4A open source) che mi sono anche un po' personalizzato, quindi evito di usare l'equivalente libreria custom view. Quindi viene compilato insieme al mio codice.
Uso la versione 6.50, mi potresti mandare il link alla 6.80? Ho aggiornato la licenza ma mi guardo vene dall'installare la 7.01
Ho già verificato che la libreria FTP_Auto non è compatibile con la 7, purtroppo Margharet non risponde e quindi sto già lavorando a riconvertire il codice per la libreria Net