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

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

ПРОБЛЕМа С ИНДЕКСАМИ [D7, Paradox]


PeterBuild ©   (2006-09-24 21:31:00) 

Помогите плиз, уже не первый день я бьюсь над проблемой сортировки!!! Все делаю правильно но когда я использую индекс появляется ерор : Invalid index\tag name. Index is out of date. Index ByCount. событие добавление индекса повешено на щелчок на гриде, открываю в монопольном режиме и невыходит. Читал что это какой то глюк, но не могу понять и провести паралель к моему случаю


sniknik   (2006-09-25 10:40:00) [1]

> IndexDefs.IndexOf() <> 0
F1
If Items contains no definition with the specified Name, the return value is -1.

при ненайденности индекса условие будет истинно (но судя по всему логика в процедуре не та...)

> ... AddIndex(...

F1 -
Creates a new index for the table. ....

> И в Date Base DeskTop добавленны соответствующие индексы!!
?
уже добавлены, и еще добавляеш.

и это называется "все правильно делаю"?


ASoft   (2006-09-25 05:40:00) [2]


> PeterBuild   (24.09.06 23:05) [6]

Ругается на щелчке по любой колонке таблицы?


PeterBuild   (2006-09-25 00:05:00) [3]

Почему именно проблема с именем?


PeterBuild   (2006-09-24 23:55:00) [4]

Все вроде бы верно....


PeterBuild   (2006-09-24 23:05:00) [5]

Поставил Maintained теперь пишет что Invalid index\tag name


Desdechado   (2006-09-24 22:47:00) [6]

> Index is out of date
Такое обычно, если не стоит галка Maintained у индекса


PeterBuild   (2006-09-24 21:58:00) [7]

procedure TfrmMain.BaseGridTitleBtnClick(Sender: TObject; ACol: Integer;
 Field: TField);
var
 bActive, bExclusive: Boolean;
begin
 bActive := DM.tblBase.Active;
 bExclusive := DM.tblBase.Exclusive;
 DM.tblBase.IndexDefs.Update;
   with DM.tblBase do
   begin
     Close;
     Exclusive := TRUE;
     Open;
     if ACol = 0 then
       begin
         if IndexDefs.IndexOf('FULLNAME') <> 0 then
            AddIndex('FULLNAME', 'NAME;NICK', []);
       end;
     if ACol = 1 then
       begin
         if IndexDefs.IndexOf('ByCount') <> 0 then
            AddIndex('ByCount', 'COUNT', []);
       end;
     if ACol = 2 then
       begin
         if IndexDefs.IndexOf('ByFond') <> 0 then
            AddIndex('ByFond', 'FOND', []);
       end;
     Close;
     Exclusive := bExclusive;
     Active := bActive;
     TStringGrid(frmMain.BaseGrid).DefaultRowHeight := 25;
     TStringGrid(frmMain.grdFirstClient).DefaultRowHeight := 20;
   end;
end;
И в Date Base DeskTop добавленны соответствующие индексы!!


Gydvin   (2006-09-24 21:47:00) [8]

а проблема в отсутствие кода в твоем посте


PeterBuild   (2006-09-24 21:41:00) [9]

Ну подскажите хоть в каком районе проблема...


sniknik   (2006-09-24 21:35:00) [10]

> Все делаю правильно
попробуй сделать неправильно...


Наверх

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