Extern: richiamare funzioni esterne a Gambas
Gambas offre la possibilità di utilizzare potenzialità, capacità di sistemi esterni mediante il richiamo di loro funzioni. A volte può capitare nella programmazione la necessità di utilizzare potenzialità che Gambas da solo non può offrire{1}. L'istruzione che Gambas pone a disposizione del programmatore per richiamare tali funzioni esterne è: Extern.
Per il richiamo di funzioni esterne è necessario conoscere in particolare tre elementi:
- il quid, ossia il cosa fare, cosa ottenere;
- la funzione esterna che ci consente di realizzare quel quid;
- la libreria nella quale è contenuta la funzione da richiamare.
Una volta compreso che quel che si vuole ottenere è possibile attraverso l'uso di una funzione esterna a Gambas, bisognerà individuare la specifica funzione che consente di realizzare il nostro obiettivo. La funzione esterna, utile allo scopo del programma, dovrà essere richiamata dal programma medesimo; e poiché essa è appunto esterna a Gambas, bisognerà conoscere il luogo ove essa si trova. Il luogo che contiene la funzione esterna è la "Libreria"; ed anzi una specifica libreria, la quale, pertanto, andrà dichiarata in anticipo rispetto alla funzione. Le librerie, contenenti funzioni esterne a Gambas, richiamabili da Gambas, sono quelle con estensione .so .
Possiamo, dunque, dire che è un po' come se Extern annunciasse: « Farò in modo che il programma utilizzi questa funzione "xxxx(yyy)", la quale non appartiene alle risorse di Gambas, ma si trova in questa libreria: zzzz.so . ».
La Libreria, contenente la funzione esterna da richiamare, può essere dichiarata separatamente, e prima della dichiarazione Extern:
Library "libreria_esterna:num_vers" Extern......
La Libreria, contenente la funzione esterna da richiamare, può essere dichiarata all'interno dell'istruzione di Extern
<< PAGINA IN COSTRUZIONE >>
Note
[1] Prendiamo come esempio il rapporto fra Gambas ed il sistema sonoro ALSA. Se non si avesse la possibilità di richiamare, e quindi di utilizzare le funzioni proprie di ALSA, non sarebbe possibile interloquire con questo sistema esterno. Non sarebbe possibile gestirne le capacità, e dunque utilizzare le sue funzioni.