Board index » delphi » HELP!!!! network - paradox - bde16

HELP!!!! network - paradox - bde16

Hey Delphites....

If you have a network app executing on two machines,
the first opens a table, writes, posts, and closes...
the other opens and reads, it gets the correct value.

If they open the table on create ans close it on
destroy (leaving it open during execution), then
the one that reads needs to do a table.refresh
to get valid data.  

This implies that the table.open method does
a refresh for you (agree???).

NOW...

If you have a connection established already
(lets say that the table above is left open during
execution) and you hook a second table up
to the same physical DB, the implied refresh
does not occur when you open it (I have tried
this, the second table gets bad data until
either the first table is refreshed manually,
or the second table is refreshed manually).

SO... my question is...

What good is the BDE if I have to manually
call refresh all the time??? Why doesn't
the FieldByName method check the network
control file to see if the physical table
is dirty for this connection and automatically
refresh if it is??? What good is cached data
if it doesn't know when it is no longer valid????

AM I DOING SOMETHING WRONG???

Delphi 1.x running bde16 2.52 on a win95 network
with paradox 5.0 db's

Please respond to fra...@simsol.com with ANY
help...

Thanks in advance...

frank

BTW: monday I will spend the $85.00 to talk to Borland
to see what's up!!!

 

Re:HELP!!!! network - paradox - bde16


Frank:

There is a known problem with the caching on Windows servers.

Get a copy of our "Delphi & Networks" article from our components page -
address is on the signature line! Look for OPLOCKS.

On Windows 95 Servers, make sure you are tuned as a server.

Make sure you use dbiSaveChanges() after each "critical" post!

Quote
Frank Postava wrote:
> Hey Delphites....

> If you have a network app executing on two machines,
> the first opens a table, writes, posts, and closes...
> the other opens and reads, it gets the correct value.

> If they open the table on create ans close it on
> destroy (leaving it open during execution), then
> the one that reads needs to do a table.refresh
> to get valid data.

> This implies that the table.open method does
> a refresh for you (agree???).

> NOW...

> If you have a connection established already
> (lets say that the table above is left open during
> execution) and you hook a second table up
> to the same physical DB, the implied refresh
> does not occur when you open it (I have tried
> this, the second table gets bad data until
> either the first table is refreshed manually,
> or the second table is refreshed manually).

> SO... my question is...

> What good is the BDE if I have to manually
> call refresh all the time??? Why doesn't
> the FieldByName method check the network
> control file to see if the physical table
> is dirty for this connection and automatically
> refresh if it is??? What good is cached data
> if it doesn't know when it is no longer valid????

> AM I DOING SOMETHING WRONG???

> Delphi 1.x running bde16 2.52 on a win95 network
> with paradox 5.0 db's

> Please respond to fra...@simsol.com with ANY
> help...

> Thanks in advance...

> frank

> BTW: monday I will spend the $85.00 to talk to Borland
> to see what's up!!!

--
Dave Robinson
Amber Computer Systems Inc.

WEB page: http://www.acsi.bc.ca/
Delphi Components Page: http://www.acsi.bc.ca/comp01.html

Other Threads