[fpc-pascal] DLL calling Firebird: slow and crashes at the end

Reinier Olislagers reinierolislagers at gmail.com
Fri Sep 26 16:12:32 CEST 2014

DLL creation newbie here; Windows; x86 FPC trunk.

Going with the FPC programmer's guide, I wrote a DLL that looks up
address data in a Firebird embedded db.

Managed to get a console demo calling it running but:
1. It is slow to show output: no output for a while before showing the
results of the address data calls to the dll.
2. It is slow to close as well. It hangs for a while and then Windows
pops up a dialgo "dlldemo.exe has stopped working" etc.

Firebird embedded log says it closed the connection while a user was
connected, so I suspect my db code.
Problem is, it works ok in my GUI code that uses units (no dlls).

gdb dpesn't seem to show anything special.

DLL source code: Source/dutchpostcode.lpr
Demo program: Source/dlldemo.lpr

Anything special/obvious I need to do?
Enable multithreading? C memory manager?

(FPC had a problem with Firebird embedded 2.5.3 but that was with
client/server, not embedded+that has been fixed meanwhile)

Advice (and requests on specific further info) welcome before I start
wildly throwing switches?


More information about the fpc-pascal mailing list