CALL #exp-num exp-chaîne (var-1, var-2, ...)

Permet d’appeler une fonction d’une librairie ouverte par OPEN LIBRARY.

Paramètre Description
exp-num Numéro de canal compris entre 1 et 32
exp-chaîne Chaîne de caractères contenant le nom de la fonction
var-n Variable quelconque

Exemple

10 OPEN LIBRARY "MaDll" AS 10
20 CALL #10 "MaFonction"(X%)
30 PRINT X%
40 CLOSE 10

Ce programme fait appel à la fonction « MaFonction » de la librairie « MaDll.DLL » L’adresse de la variable X% est attendue par la fonction. La fonction peut récupérer et/ou modifier le contenu de cette variable.

Action

L’instruction CALL# permet d’appeler une fonction d’une librairie à chargement dynamique (DLL) ouverte par OPEN LIBRARY en indiquant son nom dans une chaine de caractères ainsi que la liste des variables dont les adresses sont passées en paramètres. Cette instruction est spécifique au SBASIC.

(var-1, var-2 ...) est la liste des variables dont les adresses sont passées en paramètre. Le type et le nombre des variables doivent correspondre à ceux attendus par la fonction.

Une variable passée en paramètre peut-être de type entier, réel ou chaine de caractère. Cela peut être aussi un tableau ou un élément d’un tableau à l’exclusion des tableaux virtuels ou des éléments de tableaux virtuels.

Il est important que le type de chaque variable corresponde à celui attendu par la fonction de la librairie. En effet aucune vérification n’est effectuée par SBASIC.

Ces sont les adresses des variables qui sont passées. Cela permet à la fonction d’accéder au contenu de la variable avant l’appel et d’en modifier éventuellement le contenu.

Si la valeur retournée par la fonction est non nulle, elle traitée par SBASIC comme un numéro d’erreur.

Voir aussi : OPEN LIBRARY