because in the last 10 years I have preferred to deal with simple little programs where there was no need for the archives on the net. now I present the problem of an application that must necessarily use a shared management of the archives because it connects in the background with Telgram on the Internet and sends text messages taking information from the archives that could be used by the application
trying to manage the archive on the net I now find a test to cancel a record having opened an archives in NEW SHARED
in the old system I deleted a record and run the archive pack this way
Code: Select all
ES->(DbSkip())
nNext := ES->(Recno())
ES->(DbGoto(nRecord))
ES->(DbDelete())
ES->(DbPack())
ES->(DbGoto(nNext))
if ES->(EOF()) .or. nNext == nRecord
ES->(DbGoBottom())
endif
now if I try to make pack let me fwh sad me the dbf must be open on exclusive mode
how I can resolve it ?
this is the source when I try to erase a record
Code: Select all
local nRecord := ES->(Recno())
local nNext
ES->(DbSkip())
nNext := ES->(Recno())
ES->(DbGoto(nRecord))
IF!Ocupado("ES")
ES->(DbDelete())
ES->(DbCommit())
ES->(DbPack())
ES->(DbUnlock())
Endif
ES->(DbGoto(nNext))
if ES->(EOF()) .or. nNext == nRecord
ES->(DbGoBottom())
endif
If I not make dbpack on xbrowse I see the record
the function Ocupado is a function with a cicle to try to rlock the dbf