Обновления в базе удаляются
При аварийном завершении (типа EAccessViolation) программы (написана под C++Builder3) изменения, внесенные в базу данных *.db (Paradox7) через компонент TTable во время работы программы, не сохраняются, то есть даже удаляются, поскольку после Table->Post() они туда внеслись. То есть, получается, существует какое-то кэширование, о котором нигде ничего не написано. Кто-нибудь может что-то подсказать?
Цитата:
Originally posted by chepelev
При аварийном завершении (типа EAccessViolation) программы (написана под C++Builder3) изменения, внесенные в базу данных *.db (Paradox7) через компонент TTable во время работы программы, не сохраняются, то есть даже удаляются, поскольку после Table->Post() они туда внеслись. То есть, получается, существует какое-то кэширование, о котором нигде ничего не написано. Кто-нибудь может что-то подсказать?
При аварийном завершении (типа EAccessViolation) программы (написана под C++Builder3) изменения, внесенные в базу данных *.db (Paradox7) через компонент TTable во время работы программы, не сохраняются, то есть даже удаляются, поскольку после Table->Post() они туда внеслись. То есть, получается, существует какое-то кэширование, о котором нигде ничего не написано. Кто-нибудь может что-то подсказать?
на самом деле при Post() данные в таблицу (на диск) не сохраняются (при установках BDE по умолчанию), а сохраняются они только после закрытия твоего TTable. Для того чтобы после Post() данные писались на диск надо установить в bdeadmin
Configuration->System->INIT->LOCAL SHARE=TRUE
(кажется, у TDataSet)