Introduction
Ce tutoriel décrit la version orientée objet de l’API Firebird V4.0.+
Ce document est une traduction du fichier doc/Using_OO_API.html
, qui est inclus dans les sources de Firebird.
Les interfaces décrites se trouvent dans le répertoire include/firebird/FirebirdInterface.idl
. À l’aide de l’outil CLOOP sur la base de ce fichier IDL, vous pouvez générer un fichier d’interface pour un langage de programmation spécifique (IdlFbInterfaces.h
ou Firebird.pas
).
CLOOP — (Programmation orientée objet inter-langages). Cet outil n’est pas inclus dans Firebird. Il se trouve dans le code source de cloop.Une fois l’outil assemblé, vous pouvez générer une API pour votre langage de programmation.
Pour Object Pascal, le fichier API de l’objet est généré à l’aide de la commande suivante :
cloop FirebirdInterface.idl pascal Firebird.pas Firebird --uses SysUtils \
--interfaceFile Pascal.interface.pas \
--implementationFile Pascal.implementation.pas \
--exceptionClass FbException --prefix I \
--functionsFile fb_get_master_interface.pas
Les fichiers Pascal.interface.pas
, Pascal.implementation.pas
et fb_get_master_interface.pas
se trouvent à l’adresse https://github.com/FirebirdSQL/firebird/tree/master/src/misc/pascal.
Note
|
Dans ce cas, les API Firebird seront préfixées par la lettre I, car c’est la coutume en Object Pascal. |
Le fichier Firebird.pas
qui en résulte ne contient pas les constantes isc_*
. Ces constantes pour les langages C/C++ peuvent être trouvées à l’adressehttps://github.com/FirebirdSQL/firebird/tree/master/src/include/consts_pub.h.Pour obtenir les constantes en langage Pascal, utilisons un script AWK pour transformer la syntaxe. Sous Windows, vous devrez installer Gawk pour Windows ou utiliser le sous-système Windows pour Linux (disponible sur Windows 10). Pour ce faire, utilisez la commande suivante :
awk -f Pascal.Constants.awk consts_pub.h > const.pas
Le contenu du fichier résultant doit être copié dans la section const
vide du fichier Firebird.pas
immédiatement après l’implémentation. Le fichier Pascal.Constants.awk
se trouve à l’adresse suivante : https://github.com/FirebirdSQL/firebird/tree/master/src/misc/pascal.