Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.22;
Скачать: CL | DM;

Вниз

DbiDoRestructure   Найти похожие ветки 

 
SS1 ©   (2002-06-28 08:46) [0]

Подскажите как избавиться от ошибки "Table is busy" при
выполнении функции DbiDoRestructure (Exclusive:=True; это установлено, в дизайн тайм таблица закрыта и даже Дельфи
не загружен). Что еще может быть нужно?(D6, Paradox)


 
Alexandr ©   (2002-06-28 08:50) [1]

код приведи


 
SS1 ©   (2002-06-28 09:28) [2]

procedure TMainForm.ProcPackTable(PackDataSet: TDataSet);
var
Props: CURProps;
hDb: hDBIDb;
TableDesc: CRTblDesc;
begin
if (PackDataSet is TTable) then
begin
PackDataSet.Close;
(PackDataSet as TTable).Exclusive:=True;
PackDataSet.Open
end
else exit;
Check(DbiGetCursorProps((PackDataSet as TTable).Handle, Props));
FillChar(TableDesc, sizeof(TableDesc), 0);
Check(DbiGetObjFromObj(hDBIObj((PackDataSet as TTable).Handle),objDATABASE,hDBIObj(hDb)));
StrPCopy(TableDesc.szTblName, (PackDataSet as TTable).TableName);
StrPCopy(TableDesc.szTblType, Props.szTableType);
TableDesc.bPack:=True;
PackDataSet.Close;
Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
(PackDataSet as TTable).Exclusive:=False;
PackDataSet.Open;
end;


 
Viewer   (2002-06-28 10:02) [3]

Попробуй так

DatabaseAlias:TDatabase;
function packParadoxTable(TableName:string{Table:TTable}):DBIResult;
TblDesc:CRTblDesc;
begin
FillChar(TblDesc, sizeof(CRTblDesc), #0);
StrCopy(TblDesc.szTblType, szParadox);
StrPCopy(TblDesc.szTblName, TableName{Table.TableName});
TblDesc.bPack := TRUE;
Result := DbiDoRestructure(DatabaseAlias.Handle, 1, @TblDescs, nil,
nil, nil, FALSE);
end;


 
SS1 ©   (2002-06-28 12:23) [4]

этот код ошибки не выдает, но и с таблицей, насколько я понял,
ничего не делает. размер файла не изменился.


 
SS1 ©   (2002-07-01 13:32) [5]

?



Страницы: 1 вся ветка

Текущий архив: 2002.07.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
3-70581
jen_bond
2002-06-28 11:09
2002.07.22
Транзакция


3-70594
KAA
2002-06-28 18:00
2002.07.22
Время выполнения запроса


3-70651
Fissher
2002-07-01 17:19
2002.07.22
Индексы в таблицах Paradox 7


1-70693
jonik pegas
2002-07-11 10:33
2002.07.22
Копирование потомков Tpersistent Assign-ом


6-70847
Alibaba
2002-05-14 17:15
2002.07.22
TserverSocket