Форум: "Базы";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c