DECLARE FUNCTION / DECLARE SUB
Déclaration d'une fonction externe ou d'une sous-routine. Cette instruction est utilisée chaque fois qu'un appel DLL doit être effectué.
Support WebVue - Oui.
|
Mode |
Mnémonique |
Syntaxe |
| - | FUNCTION | 1 |
| - | SUB | 2 |
Les fonctions ou sous-routines doivent toujours être déclarées en en-tête du programme (en dehors des procédures).
Syntaxe 1
DECLARE FUNCTION GlobalName LIB Libname [ALIAS AliasName] ([Arguments]) AS Type;
|
Argument |
Définition |
|
GlobalName |
Nom de la SUB ou FUNCTION. Si différent du vrai nom du SUB ou de la FUNCTION dans la DLL, alors l'alias doit également être spécifié. |
|
LibName |
Nom de la DLL où se trouve la procédure déclarée. Type STR. |
|
AliasName |
Nom de la procédure dans la DLL s'il est différent de celui donné dans le programme. Type STR |
|
Type |
Type retourné par la fonction (INTEGER, LONG, SINGLE, DOUBLE, STR). |
|
Arguments |
Liste d'arguments avec la syntaxe suivante : |
|
|
[BYVAL] Variable AS Type, [BYVAL] Variable AS Type, ... |
|
Variable |
Nom de la variable passée en argument. |
|
Type |
Le type de la variable passée en argument. INTEGER, LONG, SINGLE, DOUBLE. |
Exécution
Le programme externe se comporte comme une fonction. La fonction retourne toujours une valeur.
Syntaxe 2
DECLARE SUB GlobalName LIB LibName [ALIAS AliasName] ([Arguments]);
Exécution
Le programme externe se comporte comme une sous-routine. Le sous-programme ne retourne pas de valeur.
Le sous-programme déclaré est visible pour tous les sous-programmes du programme courant. S'il est déclaré dans le programme GLOBAL, il est visible par tous les programmes.
Le dossier dans lequel se trouve la DLL doit avoir un chemin défini sur elle, sinon le chemin complet sera inclus dans la déclaration.
Exemple
DECLARE SUB DosBeep lib "DOSCALLS" (X as integer);
DECLARE FUNCTION WinExec LIB "KERNEL" (BYVAL File AS STR,BYVAL SH AS INTEGER) AS INTEGER;