MultiUser Delphi App Using Paradox - Help !

MultiUser Delphi App Using Paradox - Help !

Post by Tom Conw » Wed, 29 Nov 1995 04:00:00



        I have written a multi user commercial application in Delphi and in
testing was bemused by the way that Paradox tables and Delphi seem to
co-operate.  The scenario is that I have a simple Paradox table, the
shared data being accessed is on a Netware LAN where all users have
full access rights, users are mapped to the data area ( which is also
doubling as the NET DIR ) using exactly the same drive letter and
directory path ( as required by IDAPI ).  All appears to work OK
except that when a user updates a table using a TTable.Post, the
change to the database does not appear to be physically commited to
disk ( on the server ) until the TTable.Close is called.  I have
tested this out stand-alone, accessing a hard disk and the date and
time stamp of the database file is unchanged until the database is
closed.

        The bottom line is the the record doesnt appear to be committed until
the database is closed !  This obviously cant be right and I must be
doing something extremely simple wrong.  Does anybody have any ideas ?
Any help would be very much appreciated.

Regards,

Tom Conway
Technical Manager
Kestral Computing - Perth, Western Australia.

 
 
 

MultiUser Delphi App Using Paradox - Help !

Post by Sundial Servic » Thu, 30 Nov 1995 04:00:00



>        I have written a multi user commercial application in Delphi and in
>testing was bemused by the way that Paradox tables and Delphi seem to
>co-operate.  The scenario is that I have a simple Paradox table, the
>shared data being accessed is on a Netware LAN where all users have
>full access rights, users are mapped to the data area ( which is also
>doubling as the NET DIR ) using exactly the same drive letter and
>directory path ( as required by IDAPI ).  All appears to work OK
>except that when a user updates a table using a TTable.Post, the
>change to the database does not appear to be physically commited to
>disk ( on the server ) until the TTable.Close is called.  I have
>tested this out stand-alone, accessing a hard disk and the date and
>time stamp of the database file is unchanged until the database is
>closed.
>        The bottom line is the the record doesnt appear to be committed until
>the database is closed !  This obviously cant be right and I must be
>doing something extremely simple wrong.  Does anybody have any ideas ?
>Any help would be very much appreciated.

Your application needs to call "DbiUseIdleTime," a BDE internal call, within
the "OnIdle" event handler and also every second or so through a timer.  No,
this is not something that Borland ever told you.

I'll be happy to send you actual code-samples.

As an alternative, Borland has provided a release of BDE that fixes the
problem within its "BDEDEMO" download from ftp.borland.com.  In spite of the
fact that it appears to be a demo-program, it's actually an updated download
of the BDE software.  It too will make the problem go away.

-Mike Robinson
 Sundial Services, Scottsdale AZ  (USA)
 (602) 946-8259; fax 874-2068


 
 
 

MultiUser Delphi App Using Paradox - Help !

Post by Jeff Carls » Wed, 06 Dec 1995 04:00:00



>As an alternative, Borland has provided a release of BDE that fixes the
>problem within its "BDEDEMO" download from ftp.borland.com.  In spite of the
>fact that it appears to be a demo-program, it's actually an updated download
>of the BDE software.  It too will make the problem go away.
>-Mike Robinson

Mike,

I assume that this was included on Borland's Update CD-Rom that we all
paid $10.00 or so for (About 1-2 months ago).  With that update and
using the about box trick (open the about box and - while holding down
the ALT key - type VERSION) my Delphi software version is 1.47.136.0 -
as opposed to 1.47.135.0 (oooooooooh, what a patch!)

Jeff Carlson