Documentation de Gambas - /dev/api/name/begin_method

/dev/api/name/begin_method

# 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

- /wiki/api/cat/method