Подскажите в чем дело!!!!
Есть БД BDE на Borland C++ Builder (таблицы DBase IV). На моем компьютере работает, все нормально. Но на других возникает ошибка (TableX not in Edit or Insert mode...). При этом, BDE устанавливаю, ошибка эта возникает первые 5 минут работы, а потом исчезает, при этом сами операции с таблицами в результате выполняются вроде бы праильно. Что за ошибка, знаю, но как она может так хаотично возникать не понимаю. При этом я никак не могу ее исправить, т.к. я на своем компьютере ее не получаю.
Подскажите, что это может быть, т.к. перед заказчиком неудобно, да и вообще - подозрительно.
Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
20-03-2009 21:54
Посмотрите »вопрос КС №50195«
Вариант 1:
у вас на форме есть элементы для редактирования полей, например TDBEdit и есть программное изменение полей, нпример, выбор из справочника по кнопке. Если вы вызываете форму, не переводя в режим редактирования, и сначала редактируете поля, то датасет сам переходит в режим редактирования. Если же вы сначала выбираете из справочника, то датасет в режиме редактирования не находится и происходит ошибка.
Рекомендация: переводите датасет в режим редактирования явным образом.
Вариант 2:
Если датасет не переводится в режим редактирования явно, то если запись не редактировалась, при выходе из формы может возникнуть ошибка при Post или Cancel
Рекомендации:
1. переводите датасет в режим редактирования явным образом
2. Post при необходимости замените на CheckBrowseMode
3. При необходимости перед Cancel проверяйте состояние датасета, например:
if DataSet.State <> dsBrowse then
DataSet.Cancel;
>>> На моем компьютере работает, все нормально.
>>> ошибка эта возникает первые 5 минут работы, а потом исчезает
Смотрите, в чём состоит разница. Сядьте рядом с пользователем и смотрите, что он делает не так по сравнению с тем, как вы делаете на своём компьютере и что он в первые 5 минут делает того, чего не делает потом или наоборот.
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.