2. Quick Start

Je pense que le mieux est de démarrer depuis le composant sdl, qui est très petit.

Donc, supposons que vous vouliez écrire le composant gb.xyz. Ce composant: * Ne dépend d'aucun autre composant. * Nécessite la librairie libxyz.so et le fichier include xyz.h . * Requiert le multi-threading.

La variable $ROOT est le répertoire ou vous décompressez le paquet sources GAMBAS.

  1. Faites une copie du répertoire $ROOT / src / lib / sdl (avec con contenu) et nommez le gb.xyz .

  2. Supprimez les fichier sources , mais conservez main.c et main.h . Vous écrirez vos propres

main.c et main.h en les modifiant.

  1. Editez le fichier $ROOT / src / lib / xyz / Makefile.am , et remplissez le selon les besoins, comme expliqué ici.

Vous devriez avoir quelque chose comme ceci:

INCLUDES = -I$(top_srcdir)/ src / share @XYZ_INC@
EXTRA_DIST = *.component

pkglib_LTLIBRARIES = lib.gb.xyz.la

lib_gb_xyz_la_LIBADD = @XYZ_LIB@
lib_gb_xyz_la_LDFLAGS = @LD_FLAGS@

lib_gb_xyz_la_SOURCES =  main.h main.c  myFirstClass.h myFirstClass.c  mySecondClass.h mySecondClass.c  ...

install-exec-local:
        @cp -f *.component $(DESTDIR)$(pkglibdir)

  1. Renommez le fichier $ROOT / src / lib / xyz / lib .gb.sdl.component en lib.gb.xyz.component et editez le.

faites attention, ce fichier doit être encodé en UTF8.

[Component]
Key=gb.xyz
Name=The xyz component
Author=Vous
Alpha=1

  1. Editez le fichier $ROOT / src / lib / Makefile.am (situé un répertoire plus haut) et changez la première ligne pour ajouter une référence au nouveau sous-répertoire créé.

SUBDIRS = debug eval db compress @QT_DIR@ @NET_DIR@ @SDL_DIR@ @VB_DIR@ @XYZ_DIR@

  1. Editez le fichier $ROOT / configure.in et ajoutez la chose suivante :

    ...
    
    
    GB_COMPONENT(
     xyz,
     XYZ,
     [XYZ component],
     [GB_FIND(xyz.h, / usr / local / usr , include xyz*/ include include / xyz*)],
     [GB_FIND(libxyz.$SHLIBEXT, / usr / local / usr, lib xyz*/ lib lib / xyz*)],
     [$C_LIB $THREAD_LIB -lxyz],
     [$THREAD_INC])
    
    
    ...

  2. A la fin du fichier $ROOT / configure.in , changez la macro AC_OUTPUT :

    ...
    
    
    dnl ---- Create makefiles
    
    
    AC_OUTPUT( Makefile src / Makefile src / share / Makefile src / comp / Makefile src / exec / Makefile src / lib / Makefile ... src /lib / compress / Makefile src / lib / compress / zlib / Makefile src / lib / compress / bzlib2 / Makefile src / lib / xyz / Makefile )

  3. Ouvrez un terminal, allez dans le répertoire racine du paquetage, et tappez :

    $ ./ reconf $ ./ configure ... $ make ...

Tout doit se compiler... si vous n'avez pas fait de faute, bien sur :-)

  1. Pour tester le composant, vous devez créér trois liens symboliques depuis le répertoire

./ src / lib / xyz vers le répertoire d'installation de Gambas. Sous le compte root, bien sur :

$ su
...
# ln -s / usr / lib / gambas / lib.gb.xyz.component $ROOT / src / lib / xyz / lib.gb.xyz.component
# ln -s / usr / lib / gambas / lib.gb.xyz.so $ROOT / src / lib / xyz /.libs / lib.gb.xyz.so
# ln -s / usr / lib / gambas / lib.gb.xyz.la $ROOT / src / lib / xyz / lib.gb.xyz.la

  1. . Maintenant vous devez créér les fichiers description du composant en utilisant la commande gbi.

Vous devez faire ceci chaque fois que vous modifiez l'interface de votre composant.

$ gbi -a
...

C'est tout. Vous devez avoir un nouveau composant maintenant :-)

Le fichier main

La connexion interpréteur

Ecriture des classes

Méthodes spéciales

Le fichier description des composants