Gambas 2.23.0

La corsa verso la tanta sospirata versione 3 è in corso ed il ramo 2 che ha fatto la fortuna del progetto sta per volgere al termine. Segno del continuo progresso del linguaggio giunge a noi una nuova stabile targata 2.23.0. In questo nuovo rilascio troviamo:

  • Traduzione Romania e Repubblica Ceca;
  • File.SetExt() lavora bene con i file che iniziano con il punto ora;
  • Corretto bug nella gestione della memoria che provocava bug con le enumerazioni;
  • Stat.Perm[] ritorna il valore esatto ora;
  • LLONG_MAX viene definito laddove non lo fosse;
  • Il cursore viene aggiornano correttamente con lo stato di Application.Busy;
  • Lo Stop Event ora funziona bene nella chiusura dei form modali;
  • Corretto errore nella gestione della memoria per il Textarea.Paste();
  • Fissato il resize dei label;
  • TextBox.Selection.Length ritorna il valore esatto;
  • La GridView ora riceve il focus;
  • Draw.Ellipse() ora disegna correttamente una torta quando filling non è definito;
  • Fixato ComboBox.Add() e ListBox.Add() quando l’argomento della posizione è specificato.
Come si può vedere novità di notevole importanza non ci sono e questo è sicuramente un buon segno poiché ciò evidenzia come gli sforzi maggiori del team di sviluppo siano incentrati sulla versione futura che potrebbe vedere la luce molto presto.
Intanto anche la pagina web del progetto Gambas ha avuto una ventata di novità ed in alto a destra, dove prima era presente semplicemente il link all’ultima versione stabile ora campeggiano due grandi banner. Uno che punta alla versione stabile del ramo 2 e l’altro, ancora inattivo, che sarà cliccabile al rilascio della versione 3.
Restiamo impazienti di vedere cosa ci riserva il lavoro futuro nella speranza di avere tra le mani uno strumento sempre migliore così come siamo stati abituati in questi anni!
   

Gambas 2 in cattive acque

Per chiunque usi Gambas per sviluppare i propri software, professionali e non, la versione 2 è stata sicuramente la punta di diamante che ha portato alla ribalta questo progetto non propriamente fortunato. Inutile ribadire i vari problemi esistenti nel differente uso tra Qt e GTK ed inutile stare ad evidenziare alcune scelte di sviluppo non sempre dettate da una logica comunitaria. Nonostante questo, Gambas è cresciuto e, per chi lo usa, questo è motivo di piacere e soddisfazione.
Ora però il progetto potrebbe trovare un insormontabile scoglio per quanto riguarda il suo uso, e quindi anche quello degli applicativi scritti con tale linguaggio, sui sistemi basati su Debian (vedasi Ubuntu, Mint e affini). L’attuale passaggio alla nuova stabile e il rilascio della versione 4 delle Qt, ha fatto in modo che i manteiner di tali librerie su questo sistema iniziassero a deprecare le Qt3 visto che nessuno (neanche le aziende che ne detengono i diritti) sono motivati a mantenerne lo sviluppo e l’assistenza.
Gambas, per chi non lo sapesse, è interamente sviluppato con le Qt3 e far sparire queste librerie dai repo significherebbe rendere impossibile la compilazione di questo linguaggio sui sistemi in questione.
La versione 3 di tale progetto usa le Qt4 e quindi creare un porting di Gambas2 con le Qt4 sarebbe totalmente inutile. Cosa dobbiamo aspettarci allora? Che fine farà Gambas 2? Cosa accadrà nel lasso di tempo tra la scomparsa di Gambas 2 e il rilascio del 3?
Cercheremo di saperne di più e di tenerci aggiornati.

Modulo Gambas – Tree


Ho la necessità, per la gestione di Meganalotto, di popolare la TreeView presente nel form della guida. Quando questo tipo di oggetto deve essere riempito con poche voci, il codice all’interno dell’IDE di Gambas riesce a rimanere pulito. Il problema inizia a sorgere quando gli elementi da collocare sono molti ed abbastanza contorti poiché si finisce per sbagliare inevitabilmente la loro sistemazione ed il loro grado di profondità all’interno della struttura dell’albero.


Anche effettuare il debug non è semplice con un codice contorto e da qui nasce l’ideazione di questo nuovo piccolo progetto. Ho creato un semplice modulo all’intero del quale ho scritto una funzione che, prelevando un file appositamente formattato, genera il contenuto di una treeview senza alterare minimamente il contenuto del proprio codice. La gestione del modulo è semplicissima ed è possibile trovare tutte le informazioni necessarie nella pagina wiki dedicata al progetto. Per scaricare il sorgente, invece, ci si può recare nell’apposita pagina nella mia sezione su google code.