Эта проблема специфична для таблиц форматат Paradox, относится как 16 битным,
так и 32 битным версиям BDE, и может встречается при выполнении одного из
следующих условий:
1. Исполняемый файл приложения находится в той же папке, что и таблица. 2.
Некорректно установлен (неустановлен) параметр Private Directory. 3. Открытая
в TTable таблица Paradox участвует в запросах TQuery. 4. Параметр LOCAL SHARE
установлен в True (BDE Administrator, закладка "System")
Для решения проблемы необходимо выполнить следующие шаги:
1. В папке с исполняемым файлом приложения создайте три новых папки: TABLES,
PRIV и NET (длина пути NetDir не должна привышать 31 символа). Поместите все
таблицы приложения в папку Tables
2. Во время исполнения Ваше приложение должно устанавливать значения:
Session.PrivateDir := ExtractFilePath(ParamStr(0)) + 'PRIV';
Session.NetFileDir := ExtractFilePath(ParamStr(0)) + 'NET';
3. Убедитесь, что значение LOCAL SHARE установлено в False (BDE
Administrator, закладка "System")
Эти рекомендации позволяют избежать ошибки "Lock File Too Large".
Источник
Примечание: данные рекомендации справедливы для локальных баз, в случае
сетевых баз и/или размещения программы на сетевом устройстве или при доступе из
нескольких программ, можно поступись следующим образом:
1. Не размещайте базу и программу в одной папке, тем более, что программу
желательно поместить в защищенную от записи папку.
2. Приватный каталог надо разместить в персональной папке, желательно для
каждой запущенной копии приложения отдельный, подходящее место персональная
папка TEMP\SessionID\
3. Сетевой каталог NETDIR - выделить отдельную папку на сети исключительно
только для этой цели и единную для всех приложений BDE
4. LOCAL SHARE - TRUE, можно попробовать и FALSE, если это не будет приводить
к порче индексов.
|