Nada, no consigo solucionar el problema.
El tema es que tengo definidas las funciones
void __bgdexport( mod_notes, module_initialize )()
y
void __bgdexport( mod_notes, module_finalize )()
pero al crear el prg e insertar el import "mod_notes" no se ejecuta la función de inicialización.
Tampoco consigo entender lo de las constantes floats.
En otros módulos, cuando he necesitado una constante, la he creado así
DLCONSTANT __bgdexport( mod_notes, constants_def )[] =
{
{"MAX_LEN", (BASETYPE)TYPE_INT, 100 },
{ NULL , (BASETYPE)0 , 0 }
};
y luego para usarla desde un prg hacía if (i<MAX_LEN) ...., pero me da que me ha ido de casualidad. porque yo creía que MAX_LEN vaía 100 y por lo que dices en el post de mesa de ayuda relaccionado es el índice dentro de un array de constantes.
Por lo que ahora me surje la duda de cómo establecer el valor de una constante, ya sea entera o float

. (no sé tanto como creía)
Dejo aquí el código que llevo a ver si SplinterGU le puedes dar un repasito, y sin tocar nada, decirme qué debo de cambiar

y te lo agradeceré eternamente.