Las lineas que cargan el RDDADS van dentro de la function main ANTES de hacer cualquier operacion, estas lineas "cambian" el motor de datos de xHarbour para usar ADS y solo necesitas llamarlas una sola vez, las funciones llamadas permanecen activas durante toda la ejecucion del programa:
REQUEST ADS // solicita el servicio RDD ADS
RDDREGISTER("ADS",1)
/* esta funcion registra dentro del sistema RDD un RDD Externo definido por el usuario, xHarbour soporta nativamente DBFCDX, DBFNTX, sin embargo, el RDDADS es un componente externo al compilador, por lo tanto hay que registrarlo usando esta instruccion, el segundo parametro (1) indica que tendremos acceso a TODO el motor ADS, existe sin embargo un segundo valor (2) que indica que solo queremos operaciones de lectura y escritura del RDD, no es recomendable usar este segundo valor */
RDDSETDEFAULT("ADS")
/* indica que todas las operaciones de manejo de archivos dBF o ADT se harán usando el manejador de ADS */
AdsSetServerType(1) // indica que vas a trabajar con el servidor local
AdsSetFileType(1) // indica el tipo archivo y de indice a usar 1-dbfntx 2-dbfcdx 3-adtadi
Y listo, a partir de este punto todas las operaciones de base de datos quedan bajo el control de ADS.
No te olvides que debes incluir las 3 DLLs del cliente ADS en el mismo directorio donde tienes el EXE:
ACE32.DLL // funciones Ads....() que se usan dentro del codigo xharobur
AXWCS32.DLL // libreria de comunicaciones ADS con el servidor
ADSLOC32.DLL // servidor ADS local