We help IT Professionals succeed at work.

error form EDBEngineError with message 'Invalid Parameter'

Hi Experts,
I am using Delphi7 and Paradox Database and BDE.
I made a lot of changes to the code and added columns to some tables for the most recent project.
The code compiled without errors.
As for testing, I used the application in debug mode to connect to a remote RTU and tried to upload it's configuration when I got an error to the effect of something like " is Not a valid integer " which obviously it is not. So I clicked 'Run' and selected 'Program Reset' to stop the application.
Now I am not even able to run the application. It errors out with the message "Project abc.exe raised exception class EDBEngineError with message 'Invalid Parameter'. Process stoped. Use Step or Run to Continue."
How do I recover from this?
Thanks for your help.
Watch Question

Err... well when something like that happens you should save all your work, close down Delphi, and reopen it. If you still have problems you can reboot.

One thing you should be doing is trying to identify the problematic code, and you could then paste it here for inspection.
When errors occur and Delphi decides it doesn't want to show you the problematic line, I will use showmessage('1') and showmessage('2') throughout the problematic code so I can isolate the problematic code.

So basically, without seeing any code, it is very difficult to try and help you.
It sounds to me like the program does not like your database setup.  Does the IP address mean anything to you?  I would look closely at your BDE setup (thats how you are using Paradox right?).  Try removing the BDE entry and recreating it.  Another good test would be to create a simple application that attempts to display some records from one of the tables in the same database.  If you can do that then you know it's not the connection information.  As rtwoolf pointed out, you do have some debugging to do before we can be much help.  Hopefully the suggestions help you get started.


Rebooting does not fix it. The problem in the code has been fixed. The problem was that particular piece of code was reading a file with three comma seperated values and saving them in a database table. One of the value is converted to an integer before being saved. I just had the sequence in the code screwed up. So now I have fixed the code. But still getting the ("Project abc.exe raised exception class EDBEngineError with message 'Invalid Parameter'. Process stoped. Use Step or Run to Continue.") error
do not know how to recover the BDE.
May be there is a file where the database directory that needs to be deleted. In the DB directory, Other than the  database files withe the extension 'DB', there are '.FAM', '.PX', '.TV', '.VAL' files also.
What are these files for?.
There is also a file called 'DBWORK.INI' file of type 'Configuration Settings',
What is this file for?.
How do you 'Try removing the BDE entry and recreating it.'?

Modifying BDE settings:

Start | Settings | Control Panel
BDE Administrator
Once it is open you will see a list of connection names on the left.  when you click on a connection it will bring up it's settings on the right.  Since your code fixed the issue with the IP address you may not need to look at the bde settings after all.

Check your query component and look for the property ParamCheck.  Try setting it to false to get around the invalid parameter.

Let me know how it goes.


A TTable is used to insert the record in the database table which does not have a property called 'ParmCheck'. However this piece of code does not get executed untill I click on a particular button. The error is received at startup of the application. So it seems to me that The application which used to startup just fine, caused that BDE to be in a state which now gives the error:("Project abc.exe raised exception class EDBEngineError with message 'Invalid Parameter'. Process stoped. Use Step or Run to Continue."). So how do I fix this?

I did find one piece of information that might be relevant.  Did you recently move the paradox files to an NT or newer server?

One possible cause for the error: ODBC ALIASES. When creating and/or using a BDE alias that is using an ODBC DSN make sure that the ALIAS parameter "ODBC DSN" is set to the DSN that you wish to use and that has been created using ODBC Manager. Available ODBC DSN's can be chosen from the parameter's drop-down edit using the BDE Administrator.

Another possible cause: Using ISAPI app and ODBC against NT web server. ODBC DSN on NT machine should be set to "system" instead of "user".

If none of that works, I also saw where someone got that error due to the connection not being closed down and the pdoxusrs.lck file remains (causing the error).  Try deleting it.

Let me know how it goes.

P.S. I also found this...

a few days before I had a similar problem and it takes AGES to find out why. here we are:
1) UPDATE YOUR BDE to version 5.2. Your actual version can be found in the propertys of IDAPI32.DLL
the actual version can be downloaded at http://ibinstall.defined.net/download/BDEInfoSetup.zip
2) In your delphi project link every table and query components to ONE SESSION object (found at BDE tab)
3) In the SESSION object DISABLE the "keep connections" feature.

that´s it.


BDE is version 5.2.
My DB files are on the same machine as the application and code which is running windowsXP.
I can run an older version of the application against the same database. Does that mean anything?
Thanks for your help so far guys.

>Other than the  database files withe the extension 'DB', there are '.FAM', '.PX', '.TV', '.VAL' files also.
>What are these files for?.
Those are all normal files from your tables.

Regarding your problem...
Here is an article about catching all the error messages in the BDE stack, to find out more information on the error:
When googling about this problem I don't see any specific identity of the problem. One person here: http://translate.google.com/translate?hl=en&sl=pt&u=http://www.forumweb.com.br/foruns/lofiversion/index.php/t37201.html&sa=X&oi=translate&resnum=2&ct=result&prev=/search%3Fq%3DProject%2Braised%2Bexception%2Bclass%2BEDBEngineError%2Bwith%2Bmessage%2B%2522Invalid%2BParameter%2522%26start%3D20%26hl%3Den%26sa%3DN got that error on a line when he was assigning a TTable's Database parameter to a variable.
So it seems, somewhat obviously, it's possible this error is caused when you try feed the BDE with an invalid parameter (be it a setting in the object inspector, or something at runtime).

I still believe you need to isolate the problematic code.
Then paste it here.


Thanks a lot for your help guys. I am past this error. It was probably the data. I fixed some other stuff too, like removing T_Querries from the list of opening and closing T_Tables. Anyway, Now I have another error, but I am going to open another question for it. I'll split the points for this question. Both of you have been very helpful and Thankyou.