Greetings,

I am writing a Delphi application that uses Absolute Database. When the user presses a button the application fills in some values in a second form and then displays the form.

Last night I added a DBGrid to the second form to display a small Absolute Database table. Hitting the button now results in the message

"Cannot delete PFS or EAM page. Pageno=0 - Native error 30434"

If I deactivate the datasource the DBGrid is linked to then the program works but, of course, the DBGrid is empty.

I've no idea what error message is trying to tell me and can't see what I'm doing wrong. The table is fine and correctly populated

Any ideas?

Thanks in advance.

Graham

Recommended Answers

All 6 Replies

I am not familiar with Absolue Database. My first thought would be to try the same thing connecting to another database (BDE or ADO) and see if you still have the eror. How are you connecting between the grid, the datasource, Table and the database? I everyting wired up correctly?

Hi Jsosnowski,

I have a form on which I place all my DB elements. On the form I place an Absolute Database object, with the filename as the property (eg C:\blah\mydb.abs). Then a TTable object pointing to a table in the database. Then a DataSource object pointing to the TTable and then on the form create a DBGrid using the datasource.

DBGrids on the main form all work fine.

The only difference between Absolute and the BDE in this regard is how you specify the database - with the BDE you set up an alias, with Absolute you point to the underlying dataset.

I'll try pointing the DBGrids at a BDE table when I'm back at the main computer next week.

Regards,

Graham

I know next to nothing about databases (because I really don't like messing with them).

But I wonder, being separate forms, are you using a separate connection to the database in each form?

It sounds to me like the second form is trying to modify something that is locked by the first form.

That's my wild stab in the dark.

Hi Duos,

Could be some kind of contention issue, I suppose, but I'd expect a more sensible error message. Usually I'll get a message from Absolute if I try and access a locked table or something similar.

I'll experiment and see if I can learn anything.

Hi,

Did some experimenting.

If I add the DBGrid to the main form its okay at first - displays data.

But if I do

dbgrid.datasource.active := false;

and then

dbgrid.datasource.active := true;

I crash with same error.

So it appears its not the form that's the issue.

Graham

Hello All,
This turned out to be an issue with Absolute Database. I emailed them, they asked me to send them the code. I did. They promptly replied that its an error and gave me a workaround.
I'm very impressed, especially as the support was free.
Graham

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.