Importare ed utilizzare librerie .gambas
In generale una Libreria è un insieme di comandi, e più segnatamente funzioni, esterno al codice del programma principale, che fornisce appunto ulteriori ed addizionali funzionalità.
In Gambas è possibile utilizzare, oltre alle librerie condivise esterne .so, anche librerie .gambas, contenenti proprietà e funzioni ricavabili dalle risorse messe a disposizione da Gambas.
Creare una libreria .gambas
La realizzazione di una libreria .gambas non richiede, ovviamente, che siano mostrate finestre e Form, e pertanto, all'atto della creazione del tipo di progetto va scelta l'opzione " Applicazione a riga di comando ".
Il progetto avrà, come struttura iniziale un Modulo principale MMain.module che non verrà utilizzato. Affinché la Libreria .gambas possa essere utilizzata bisognerà creare nell'IDE una Classe o un nuovo modulo secondario (senza distruggere però il Modulo principale originario, che resterà ovviamente vuoto).
Sia per la creazione di una Classe che di un Modulo, affinché possano essere utilizzate le proprietà e funzioni in essi contenute, bisognerà avere l'accortezza di porre all'inizio la parola: Export .
Inserite successivamente le funzioni e proprietà che la libreria metterà a disposizione del programma principale che la utilizzerà, dovrà essere salvata con l'estensione .gambas :
nome_libreria.gambas
Va precisato che questo tipo di librerie, costituite da codice Gambas, vanno poste nella medesima directory del programma che le utilizzerà, altrimenti le librerie non saranno trovate dal programma.
Esempio pratico
Facciamo un esempio pratico, nel quale avremo una libreria, che chiameremo ad esempio lib.gambas, ed un programma Gambas che ne richiama le funzioni presenti in una Classe ed in un Modulo.
Nella Classe, Classe1.class, della libreria avremo il seguente codice:
Export Public Function funzClasse(a As Integer) As Integer Dim b As Integer b = a * 7 Return b End
Nel Modulo, Module1.module, della libreria avremo il seguente codice analogo:
Export Public Function funzModulo(a As Integer) As Integer Dim b As Integer b = a + 7 Return b End
Poi, nella Classe principale del programma avremo il seguente codice:
Public Sub Button1_Click() Dim cl As New Class1 Dim w, y As Integer ' Viene richiamata la funzione nella Classe della libreria ".gambas" : w = cl.funzClasse(5) Print w ' Viene richiamata la funzione nel Modulo della libreria ".gambas" : y = Module1.modulo(w) Print y End
Ricordiamo che il programma e la predetta libreria .gambas devono stare nella medesima directory.
Si noti come, a differenza dell'utilizzo delle librerie condivise esterne .so, non è necessario dichiarare in alcun modo la libreria .gambas, di cui si andranno ad utilizzare Classi e/o Moduli.