Link to home
Start Free TrialLog in
Avatar of keithcsl
keithcsl

asked on

problem with EmptyTable function

Hi

I have a function that uses the EmptyTable function to clear the contents of a paradox table. This is my problem, if i run my program in the PC that i use for development (ie with Delphi), it works just fine. However, if i install BDE and my program in another computer (without Delphi), i sometimes get an Acess Violation error or an unrecoverable exception when the EmptyTable function is executed. Can't find out why....

has anyone faced such a problem??

Regards
Keith
Avatar of ronit051397
ronit051397

Are you sure you installed all the BDE necessary files?
Delete your other question, you have post it twice.
you are sure that you don't have some tables linked to each other and that you empty them in the correct order?
You are sure you are deploying the same BDE version as you use on your pc?
you should compare the BDE-Settings on your Develop-Computer and the Standard BDE-Settings after the installation on the other Computers. Use bdecfg32.exe to do this. Take a look onto the page "System" and compare the settings. i.E. "MaxFileHandles" often causes trouble. Hope, it'll help.
Oliver
Avatar of keithcsl

ASKER

i have checked everything and still facing the same problem. i have resorted to not using the EmptyTable, but wrote a function to delete the records one at a time.

thank you all for your help...

Keith


Dear keithcsl
Try keeping the table's exclusive property to true just before
calling emptytable and then set exclusive to false after the call to emptytable
venks
Yeah, Venks is right. This is a must if you want to use EmptyTable. Another option you have here is that you can also use "TTable.CreateTable" instead with the same effect. Here I think the condition is to close the table before calling it.
Anyhow, deleting all records one by one is a BAD solution. If you do this, you can notice that the record numbers remain. For example if you had 20 records before you deleted them, the next record you will append will have the number 21. If you have big tables, than it's even more destructive as you can imagine...
--Matvey
With a TQuery component you could also issue a 'delete from Tablename' command.
mjustin...

opps... i am sorry i have already implemented Matvey's suggestion to use CreateTable.... i should have asked Matvey to send his answer... (i forgot all about this question...)

matvey, could u please post an answer...

Keith
ASKER CERTIFIED SOLUTION
Avatar of Matvey
Matvey

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
happy new year to u too Matvey!!!