L
lingice
Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi编写了一个利用DAO压缩Access数据库的程序,压缩实现部分如下:
If DAOMajorVersion = 5 Then
dbengine := CreateOleObject('DAO.DBEngine.36')
Else If DAOMajorVersion = 4 Then
dbengine := CreateOleObject('DAO.DBEngine.35');
//DAO压缩
db := dbengine.CompactDatabase(dbPath , DestPath, '', 0, '');
CompressFile(WorkDir+'tmpdb.mdb', DestFile, 'sjxt.mdb'); //(1)???
db.Close; //(2)???
程序在执行完(1)后,就直接执行(2)了,可是此时DAO压缩还没有完毕,结果导致执行db.Close出错!
请问我怎样才能知道DAO压缩已经完毕了?(也就是说我怎样才能知道(1)已经执行完毕,然后让她执行db.Close?)
If DAOMajorVersion = 5 Then
dbengine := CreateOleObject('DAO.DBEngine.36')
Else If DAOMajorVersion = 4 Then
dbengine := CreateOleObject('DAO.DBEngine.35');
//DAO压缩
db := dbengine.CompactDatabase(dbPath , DestPath, '', 0, '');
CompressFile(WorkDir+'tmpdb.mdb', DestFile, 'sjxt.mdb'); //(1)???
db.Close; //(2)???
程序在执行完(1)后,就直接执行(2)了,可是此时DAO压缩还没有完毕,结果导致执行db.Close出错!
请问我怎样才能知道DAO压缩已经完毕了?(也就是说我怎样才能知道(1)已经执行完毕,然后让她执行db.Close?)