独占方式打开下才可用做到//使用BDE API函数
uses
BDE;
var
CompressTable:TTable;
begin
CompressTable:=TTable.Create(nil);
Screen.Cursor:=crHourGlass;
Path:=ExtractFileDir(FileName);
DBFileName:=ExtractFileName(FileName);
CompressTable.DatabaseName:=Path;
CompressTable.TableName:=DBFileName;
CompressTable.Exclusive :=true;
CompressTable.Open;
dbiPackTable(CompressTable.DBHandle,CompressTable.Handle,nil,szDBASE,true);
CompressTable.Free;
Screen.Cursor:=crDefault;
uses
BDE;
var
CompressTable:TTable;
begin
CompressTable:=TTable.Create(nil);
Screen.Cursor:=crHourGlass;
Path:=ExtractFileDir(FileName);
DBFileName:=ExtractFileName(FileName);
CompressTable.DatabaseName:=Path;
CompressTable.TableName:=DBFileName;
CompressTable.Exclusive :=true;
CompressTable.Open;
dbiPackTable(CompressTable.DBHandle,CompressTable.Handle,nil,szDBASE,true);
CompressTable.Free;
Screen.Cursor:=crDefault;
正确设置连接之后,
Adocommand1.commandText:='pack tablename'
然后execute就可以了。
注意,dBase不支持在adocommand中使用 Pack.