Murder of the Ghost BDE
In my Delphi7 application, I can connect to the database when logged in as administrator ("Dave"), but not when logged in as normal or restricted user ("Paris"). Happens on XP Home and Vista Business Ultimate 64. I am using an alias for db. The database is Firebird, middle-ware is IBO 4.7.
I posted this on another thread, but know I have a lot more information and it seems like a BDE problem. Apparently DB.Pas is related. I can see it in the project.map file and the exe reads the registry to get the BDE alias.
I removed all BDE related sources and dcu files, I was looking for a project for a DB component and it looks clean.
Has anyone been there?
Just to mention the obvious, have you checked all of the USES clauses as well?
And this is not Db.pas you need to worry about, I am not familiar with IBO, but I suspect it also uses Db.pas (TDataSet, TDatasource).
You will need to find the DbTables module and components there. It contains a globally declared session variable. And TSession refer to BDE.
a source to share
I solved it with your help. First gabr is recommended to remove .dcus. I had it, but found several, including db.dcu. Destroyed it. Compilation now stopped when using IB.dcu (Borlands interface for Interbase). Killed him and got a compilation. Grepped for DB in .map is not. Would still not work like Paris, so I found Jason's comment in the sources which showed that the AliasName property for TConnection was for the BDE alias, not the FireBird alias, so I set the property to empty.
Go to Paris and it worked!
Now, I must say that I took this house for the weekend, hoping for some kind of trick. When it worked, I yelled BLOODY BONZER! at the top of my voice - and all three cats came out and hid.
"IB", - 3 characters in 700 thousand lines of code!
So, if anyone is chasing this ghost, grep for IB!
Thanks guys (gals?) - how can I find you the best answer?
Thanks Dave.