BEGIN_METHOD
#define BEGIN_METHOD ( name , arguments ) ...
Débute l’implémentation d’une méthode.
-
name est le nom de la fonction, comme spécifié dans ma déclaration de classe.
-
arguments décrit les arguments de la méthode.
Faites attention ! Comme la fonction d’implémentation reçoit ses arguments sous forme de pointeur sur la pile de l’interpréteur, les arguments sont en fait à l’intérieur d’une structure décrivant le contenu de la pile.
En conséquence:
-
chaque argument doit être l’une des /wiki/api/cat/value.
-
Les arguments sont séparés par des points-virgules, et NON PAS des virgules.
Une méthode appelée foo déclarée de cette manière :
...
GB_METHOD("foo", NULL, "iisvbInteger[];d", do_foo),
...
Sera implémentée comme suit :
BEGIN_METHOD(do_foo,
GB_INTEGER param1;
GB_INTEGER param2;
GB_STRING param3;
GB_VARIANT param4;
GB_BOOLEAN param5;
GB_OBJECT param6;
GB_DATE param7)
...
END_METHOD
Notez que les points-virgules délimitent les arguments, et que le dernier argument n’a pas de points-virgules a la fin.
Voir aussi