Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно удалить созданный в Run Time индекс? [D7, dBase, FoxPro]


ambhtr ©   (2007-06-20 17:25:00) 

При работе программы создается индекс:

    tblDBF.Close;  // := False;
    tblDBF.Exclusive := True;
    tblDBF.AddIndex('NewIndex','Barcode',[]);
    tblDBF.Exclusive := False;
    tblDBF.Open;
    tblDBF.IndexName := 'NewIndex';

Все работает. Далее после необходимой работы индекс надо удалить. Удаляю следующим образом:

 tblDBF.Close;
 tblDBF.DeleteIndex('NewIndex');

Однако, если я после этого делаю другую процедуру, где есть
    tblDBF.Open;
то, выдается сообщение об ошибке, что индекса NewIndex не существует.
Что я забыл сделать, после удаления индекса, чтобы и таблица не помнила, что индекс был?


Anatoly Podgoretsky   (2007-06-20 18:20:00) [1]

До Open?


ambhtr   (2007-06-20 17:47:00) [2]

Спасибо. Все получилось. :о)

> tblDBF.Exclusive := True;
> tblDBF.Exclusive := False;

Помню, что без этого выдавало ошибку, хотя сейчас попробовал, работает и без Exclusive. Так что СПАСИБО и за эту подсказку.
Хотя...?


Johnmen   (2007-06-20 17:35:00) [3]

tblDBF.IndexName := '';

ЗЫ
А зачем это такие телодвижения
tblDBF.Exclusive := True;
tblDBF.Exclusive := False;

?
:)


Наверх

Титульная страница Поиск, карта сайта Написать письмо