Qualsiasi tipo di aiuto è valido, l'ho scritto più volte nei miei post...
Comunque, tieni conto che il programma è in continua mutazione, per cui è probabile che si verifichino errori come quello che mi hai segnalato.
Il tuo contributo è essenziale, la fase di test è una cosa onerosa se fatta da una sola persona.
Dunque, dal post-it si evidenziano:
a) un piccolo errore dell'etichetta "Dimenzioni"... Ok, provvedo a modificare la traduzione. Per mantenermi sullo standard, ho impostato il programma sulla base della lingua inglese, anche dietro richieste di utenti del precedente pgDesigner, che non comprendevano le note all'interno codice; questo mi fatto decidere sulla lingua di partenza: inglese. Le traduzioni poi le faccio con l'opzione nell'ide di Gambas, o con programmi esterni, ma a volte, in velocità, si inciampa nei tasti... :-)
b) l'errore in uscita credo che molto probabilmente sia dovuto ad un errore di impostazione di un array di ritorno. In Gambas ho notato che se si crea un array, il primo valore determina il tipo di tutti gli elementi, e se questo è nullo (NULL), oppure non riesce a risolverlo, allora và in errore. A parte la probabile svista nel programma, la cosa si evita semplicemente convertendo gli item nel tipo con cui si è definito l'array, esempio:
DIM arr AS String[]
arr = ["luigi", "franco", "giulia", ...]
nell'esempio la cosa non crea problemi, in quanto all'array vengono passate delle costanti fisse, ma nel caso di:
DIM arr AS Long[]
DIM v1 AS Long
DIM v2 AS Integer = 5
arr = [v1, v2]
l'array può andare in errore per due motivi: 1) la variabile "v1" non è stata inizializzata, 2) la variabile "v2" è di tipo diverso. In ogni caso le variabili, prima di essere usate, devono essere inizializzate, o con valori fissi, oppure da un ritorno di una funzione; nel caso di "v2" questa, pur essendo inizializzata, è di tipo diverso ma, se prendiamo lo stesso codice e sostituiamo la creazione dell'array con:
v1 = 9
arr = [v1, CLong(v1)]
a questo punto "v1" la inizializziamo con un valore, e "v2" la convertiamo nel tipo corretto, passiamo gli elementi all'array, e tutto funziona.
Un'altra nota circa gli array: se si passa ad una funzione un array nel seguente modo:
var = CalcolaElementiArray( [] )
nell'esempio passiamo alla funzione un'array vuoto, ma la funzione come lo interpreterà questo array? Di che tipo è? ...
Bè, strano a dirsi, ma Gambas lo interpreta in un array stringa vuoto.
Se invece alla funzione gli passiamo un array in questo modo:
var = CalcolaElementiArray( [1,2,3,4,5] )
la funzione come interpreta questo array? Un array di Integer !
Il bello e il brutto del discorso, è che se vogliamo trattare un array correttamente, dobbiamo riempirlo di elementi del tipo corretto:
var = CalcolaElementiArray( [CLong(1),2,3,4,5] )
in questo modo la funzione capirà che l'array passato è di tipo Long, NON Integer.
Vabbè questa disquisizione forse dovevo scriverla direttamente nel WiKi, ma non escludo di farlo in futuro; ad ogni modo questo thread serve anche a questo...
Grazie e continua così, questo tipo di test servono !!!