Solo por curiosidad... ¿Te acordaste de exportar la función "BD"? Es decir, fíjate si tienes la siguiente sentencia después de la implementación de la función:
Código Delphi
[-]
function BD: TBD;
begin
Result := _BD;
end;
exports
BD;
(Te lo comento porque la función de Windows "GetProcAddress" solo carga funciones que han sido "exportadas", ya sea que éstas se encuentren en una .bpl o .dll).
Edito: Como había dado una explicación que se me quedó algo liosa (no se si alguien llegó a leerla) prefiero adjuntarte un ejemplo de como podrías hacer lo que quieres de una forma más sencilla. Para ver el ejemplo haz lo siguiente:
- Descomprime el contenido del archivo en alguna carpeta del disco duro (por ejemplo: "C:\EjemploBPL")
- Y, por último, abre el archivo de proyecto "pgPrueba.bpg" para ver todas las fuentes y la aplicación de ejemplo.
(Si quieres ver la aplicación funcionar compila todos los paquetes, del primero al último. Cuando compiles, los paquetes .bpl se almacenarán en la carpeta por defecto de Delphi, que suele ser: "C:\Archivos de programa\Borland\Delphi7\Projects\Bpl").
Para ver una pequeña descripción del ejemplo lee el archivo "Leeme.txt" que encontrarás en la carpeta donde descomprimiste el archivo.
Espero que te sirva!
Saludos!