ПроблемаПри отладке приложения все нормально. Но при запуске готового файла EXE при любой попытке изменить содержимое любой таблицы появляется сообщение
Cursor is read-only
Причина
Это надо понимать буквально. Где-то, как-то, Вы изменили статус своих рабочих таблиц таким образом, что они получили статус "Read-Only".
Решение
Решение зависит от причины, по которой таблицы получили статус Read-Only
Вы включили свои таблицы внутрь проекта
Чтобы убедится в этом, откройте окно вашего проекта и найдите нужную таблицу. Слева от имени таблицы должен стоять значок перечеркнутого кружочка. Если это не так, то щелкните правой кнопкой мыши по имени таблицы и в появившемся меню выберите пункт "Exclude". После этого перекомпилируйте проект (заново постройте EXE).
Включение какого-либо файла внутрь EXE осуществляется аналогично. Правой кнопкой мыши по имени и в открывшемся меню выбрать пункт "Include".
Надо понимать, что включение какого-либо файла внутрь EXE означает, что этот файл становится частью EXE и его модификация недопустима. Это можно использовать как примитивный способ защиты своих данных, если эти данные предоставляются только на чтение.
Соответственно, файл, включенный внутрь EXE не надо поставлять клиенту (он и так находится внутри EXE).
Перенос базы данных клиенту на лазерном диске
Дело в том, что в момент записи на лазерный диск всем файлам автоматически устанавливают признак Read-Only. Соответственно после копирования на жесткий диск у клиента этот признак необходимо снять.
Правой кнопкой мыши в "Проводнике" (Explorer-Windows) на имени файла, в появившемся меню выбрать пункт "Свойства" (Properties) и снять птичку "Только чтение" ("Read-Only"). Если предварительно выделить несколько файлов, то свойства будут распространены на все выделенные файлы.
Настройка прав доступа пользователей
Возможно, папка, в которой расположены файлы DBF администратором была выдана в общее пользование со статусом Read-Only. В этом случае необходимо обратится к администратору с просьбой изменить права доступа.