Paradox Engine 3.0

Paradox Engine 3.0

Post by Maggie Owe » Wed, 25 Mar 1998 04:00:00



I am trying to determine the source of a problem in an app written with
the Paradox Engine 3.0 and Borland (or Turbo) Pascal 7. The application
uses Paradox 4.0 tables and runs on a Novell 3.12 network. I am a Delphi
programmer and familiar with Paradox/DOS and PAL, but I don't know much
about the PxEngine, so please be gentle!

The problem is that occasionally 2 users seem to be able to place a full
lock on the same table simultaneously. The code first places a full lock
on the table using PXNetFileLock, then it opens the table, then locks it
again using PXNetTblLock. Now it grabs a value (which should be unique)
from the record, increments the value in the table and posts the record.
Finally it unlocks the table using PXNetTblUnlock, closes the table and
then unlocks it again using PXNetFileUnlock.  There is plenty of error
checking throughout to ensure that it has succeeded before proceeding.

The symptom is that when 3 or more users are using this part of the
system simultaneously, occsaionally two or more of them will get the same
value, which should be unique.

Another routine that accesses the same table (it only adds records,
doesn't change or delete them) only uses PXNetTableLock and
PXNetTableUnlock to lock the table. This leads me to wonder if the
double-locking is somehow cancelling itself out?

Any suggestions / comments (or even a bettter place to go for help) would
be appreciated!

Maggie Owens;

 
 
 

Paradox Engine 3.0

Post by Ken J. Wrigh » Mon, 30 Mar 1998 04:00:00


Maggie,

PXNetFileLock & PXNetTblLock are supposed to accomplish exactly the same
thing, with a couple of acceptions. PXNetFileLock will lock any file
(not just tables) and does not require that the file even exist.
However, if used with a table, the .DB extension must be included in the
filename. This can be useful for locking a non-existent table before
creating it. Although I am not aware of any conflicts between the
functions, using both locking functions is not necessary and using only
PXNetTblLock would be preferred. Also, after placing a FL (full lock)
with PXNetTblLock, use PXNetTblRefresh to assure that internal buffers
are up to date before using PXRecGet. Make sure to get the 3.01
maintenance release available from Borland's ftp. There are some
important fixes.

Cheers!

Ken


> I am trying to determine the source of a problem in an app written
> with
> the Paradox Engine 3.0 and Borland (or Turbo) Pascal 7. The
> application
> uses Paradox 4.0 tables and runs on a Novell 3.12 network. I am a
> Delphi
> programmer and familiar with Paradox/DOS and PAL, but I don't know
> much
> about the PxEngine, so please be gentle!

> The problem is that occasionally 2 users seem to be able to place a
> full
> lock on the same table simultaneously. The code first places a full
> lock
> on the table using PXNetFileLock, then it opens the table, then locks
> it
> again using PXNetTblLock. Now it grabs a value (which should be
> unique)
> from the record, increments the value in the table and posts the
> record.
> Finally it unlocks the table using PXNetTblUnlock, closes the table
> and
> then unlocks it again using PXNetFileUnlock.  There is plenty of error

> checking throughout to ensure that it has succeeded before proceeding.

> The symptom is that when 3 or more users are using this part of the
> system simultaneously, occsaionally two or more of them will get the
> same
> value, which should be unique.

> Another routine that accesses the same table (it only adds records,
> doesn't change or delete them) only uses PXNetTableLock and
> PXNetTableUnlock to lock the table. This leads me to wonder if the
> double-locking is somehow cancelling itself out?

> Any suggestions / comments (or even a bettter place to go for help)
> would
> be appreciated!

> Maggie Owens;



 
 
 

1. Paradox Engine 3.0 Extended Chars Problem

Please, Please help!!!

Our software was written quite a while ago, and uses Paradox Engine 3.0
for the database side of it.  However we have come across a problem
which we are unable to solve.

When you enter extended chars into the database (128 - 159), they come
back out as something completely different.

We has this problem before with other extended chars, and fixed it by
altering the DOS codepage.  However, this has no effect on this problem.

If anyone has a solution to this, could you please email me as soon as
possible, as we have customers reporting this problem.

Thanx in advance
Andy Clay

Software Department
Norprint Labelling Systems


2. Two questions

3. Borland Paradox Engine 3.0 and Y2K

4. Memory problem - V8.0.5.1.1

5. Paradox Engine 3.0 and Windows 95

6. field and table variables in store procedure

7. HELP : Pxengine error 40 with the old Paradox Engine 3.0

8. teste

9. HELP: Paradox Engine 3.0

10. paradox engine 3.0

11. Paradox Engine 3.0

12. Paradox Engine 3.0 problems

13. Need Copy of Paradox Engine 3.0