![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Опять про воостановление индексов в Paradox [D6, Paradox]
sad © (2002-03-21 14:19:00)Здравствуйте, сразу же извиняюсь за повтор темы, но вот такая штука происходит, пытаюсь воостанавливать индексы функцией DBiRegenIndexes , то есть как советовали мастера
Check(DbiRegenIndexes(Table.Handle));
Но выдает мне она exception следующего вида :
Must use baseorder for this operation.
Прим.Таблица открыта как Exclusive
sad (2002-03-21 15:27:00) [21]sniknik, Все равно тоже самое.
А где можно прочитать что это за exception и результатом чего являетс.
Может ли это быть следствием того, что таблица не принадлежит данной форме, а принадлежит дата модулю.
sniknik (2002-03-21 15:11:00) [22]Расказывать особо нечего вот весь (рабочий) код.
У батона Caption как наверное догадываетесь "Переиндексация"
procedure TForm1.Reindex(Table: TTable);
begin
Check(DbiRegenIndexes(Table.Handle));
end;
procedure TForm1.Button2Click(Sender: TObject);
var OldCursor : TCursor;
begin
OldCursor := Screen.Cursor;
Screen.Cursor := crHourglass;
if Table1.Active then Reindex(Table1);
Screen.Cursor:= OldCursor;
end;
А хендл он одинаковый что для таблици что для формы только на разные данные указывает. т.е. поставьте так Check(DbiRegenIndexes(Handle)); функцию и Delphi возьмет хендл формы и даст ошибку (не при компиляции а на этапе выполнения).
sad (2002-03-21 14:52:00) [23]Таблица рабочаяж открывается. редактируетсяб индексы тоже целы.
Но если я нажимаю кнопку которая запускает функцию восстановления, то выдается эта ошибка.
sniknik не могли бы вы поподробней рассказать про хендл, что там может быть неверно.Если конечно не затруднит, или ссылку на хелп (я с Delphi недавно работаю, к тому же описания функциий BDE у меня нет)
sniknik (2002-03-21 14:41:00) [24]А индекс точно присутствует? Хоть в каком виде, может сами индексные файлы удалены? Хотя в этом случае ошибки не даст просто проигнорирует.
Проверьте тип таблицы (может не Paradox вовсе). Или у вас индексы нестандартные или заголовок индексного файла порушен (не распознает он его).
Это на одной таблице или на всех?
Проверьте функцию на 100% рабочей таблице.
Или просто путаница и хендл вы ей не от таблици даете.