Subject Re: [IBO] CreateDatabase() causing AV
Author Sampo Ahokas
Helen,

Thank you for your reply again.

> Ah, then you are using the embedded server, right? Or not...
>
> The client won't do anything on a local connection if there is not a
> server running. Embedded is merely a variation of the server, with a
> single client built in. You *will* need to have a full server
> installed if you are going to do Delphi development against Firebird
> databases.

Yes, I understand this and yes, I am using embedded server for local
access. I also have a full server, which is running on a Linux box in
the same LAN, and which I am mainly using for development and testing -
ie. using it from windows box over TCP/IP.

In this exact case and the example included earlier, I tried all
variations I could think of (embedded connecting to local file,
connection to linux server using fbclient.dll and connection to linux
server using fbembed.dll renamed to fbclient.dll as client dll). End
result was exactly the same every time, access violation. Thus, I
included the simplest form of example, which connects to directly to
local file using embedded server to rule out any possible errors caused
by network, firewall, whatever.

> For future reference, you can save yourself and others a lot of time
> and frustration by actually including *all* the details of what
> you're trying to develop with.

My apologises for being possibly unclear but like I think I already
mentioned in original post, it did not matter where and how I
connected, error was always the same. I made the post after a few hours
debug session and what seemed obvious at that time to me might not be
the case for someone just reading the text ;)

However, the actual problem still remains the same: IBO does not seem
to load any client dll, should it be fbembed.dll renamed to
gds32.dll/fbclient.all or the "real" fbclient.dll, when calling
CreateDatabase(). Once dll is loaded, for example after a connection
attempt, CreateDatabase() works just fine. What I am wondering is if
this is intentional (ie. I should do some kind of initialization before
calling it) or if it is a bug.

-Sampo