Cosa è un Componente di Gambas

Da Gambas-it.org - Wikipedia.

I Componenti di Gambas sono librerie condivise esterne scritte in C, C++ (in tal caso aventi estensione .so: risultato dalla compilazione di consueti file header .h e file sorgenti .c o .cpp), oppure scritte in linguaggio Gambas (in quest'altro caso aventi estensione .gambas), le quali aggiungono nuove funzionalità e risorse all'Interprete Gambas.

I Componenti di Gambas, scritti in C/C++, possono essere considerati come delle risorse che adattano librerie esterne, scritte in C/C++, in risorse utilizzabili secondo la sintassi Basic nell'ottica della programmazione "orientata agli oggetti".

Va aggiunto che il Componente deve essere installato nel sistema in modo perenne. Esso assume, appunto, lo status di risorsa che contribuisce, come una tessera di un mosaico, a estendere le funzionalità di Gambas: appunto un "componente" dell'intera impalcatura funzionale del linguaggio Gambas.

Il Componente è in buona sostanza una risorsa che nella maggior parte dei casi si fonda su librerie scritte in C/C++, e che si deve installare nel sistema con tutti i crismi previsti, per poter essere utilizzata.
Esso è un elemento costituente del linguaggio Gambas che consente all'utente di utilizzare - come s'è detto sopra - nelle forme tipiche del Basic e della programmazione orienttata agli oggetti risorse scritte in C o in C++, che - come tali - sarebbero altrimenti disponibili soltanto nelle modalità previste per tali linguaggi di basso livello (salvo fatto il loro uso in Gambas mediante la parola-chiave Extern).
Il Componente, scritto in C/C++, è formalmente nella sua essenza una libreria condivisa (.so) che si fonda sul codice e dunque sulle risorse di un'altra o di altre librerie anch'esse scritte in C/C++.

E' opportuno ripetere e ricordare che in Gambas abbiamo due tipi di Componenti:
1) quelli che sono scritti in C/C++ e si fondano su librerie esterne scritte in C o in C++ (esempio: il Componente di Gambas chiamato " gb.compress.zlib " si basa sulla libreria esterna " libz.so ");
2) quelli che sono scritti in puro linguaggio Gambas (un esempio è il Componente gb.map).