community.borland.com

Article #15256: Removing "Lock file has grown too large" Error

 Technical Information Database

TI256B.txt   Removing "Lock file has grown too large" Error
Category   :General Programming
Platform    :All
Product    :BDE  All

Description:
Lock file has grown too large, Decimal:9495 Hex:2517
----------------------------------------------------
This problem is specific to Paradox tables and can be caused 
in any BDE (16 or 32 Bit) application that meet some or all 
of the following criteria:

  1)  The Executable is in the same directory as the table.
  2)  The Private Directory is not correctly set or not set
      at all.
  3a) Delphi: Having a TTable open on a paradox table and 
      then performing multiple TQuery operations.
  3b) C / C++: Having a table open with DbiOpenTable and
      then performing multiple queries with DbiQExec and/or
      DbiQExecDirect.
  4)  LOCAL SHARE set to true in the BDE Configuration 
      Utility on the System page.


To solve the problem, make sure that your application has
done ALL of the following:

  1)  Under the directory where the executable is, create
      three new directories: TABLES, PRIV, and NET.  Place
      all the tables for the application into the TABLES 
      directory.  
  2)  Set the session's private directory to the PRIV 
      directory.  Take the following steps according to
      the software you are using.

      DELPHI: 
      Session.PrivateDir := ExtractFilePath(ParamStr(0)) + 'PRIV';

      C / C++:
      DbiSetPrivateDir(szPath);
      // szPath is the fully qualified path (not relative) 
      // to the PRIV directory.

  3)  Set the session's network directory to the NET 
      directory.  Take the following steps according to
      the software you are using.

      DELPHI:
      Session.NetFileDir := ExtractFilePath(ParamStr(0)) + 'NET';

      C / C++:
      DbiSetProp(hSes, sesNETFILE, (UINT32)szPath);
      // szPath is the fully qualified path (not relative) 
      // to the NET directory.

      // hSes is the current session handle.  This can be 
      // retrieved using the DBiGetCurrSession function.

  4)  If LOCAL SHARE is set to true and you are not sharing
      tables between different applications at the same time,
      change LOCAL SHARE to false.

The above steps will correct the Lock File Too Large error.


Reference:


7/15/98 3:24:23 PM
 

Last Modified: 01-SEP-99