![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удалить поле из пользовательского датасета [D2005]
jacksotnik © (2012-05-28 11:39:00)Всем привет. есть проблема при удалении поля из датасета. Делаю так:
lTable это kbmMemTable в который предварительно загружена таблица.
if (lTable.Fields.FindField(Fld_RecRevID) <> nil) then begin
lTable.Fields.Remove(lTable.Fields.FindField(Fld_RecRevID));
end;
Удаление поля проходит хорошо. Но вот после этого при выполнении lTable.First, вываливает ошибка 'List index out of bounds'.
Подскажите что я не так делаю?
jacksotnik (2012-05-28 17:16:00) [1]Ну если думаешь что я ошибаюсь то возьми kbmMemTable удали в рантайме поле и попробуй слокейтиться на любой записи и увидешь что я прав))
Медвежонок Пятачок (2012-05-28 14:23:00) [2]ты прав.
конечно именно в этом компоненте и именно в понедельник.
jacksotnik (2012-05-28 12:41:00) [3]Ну по всей видимости именно в этом компоненте ему не фиолетово. Спасибо за содержательные ответы)) Решение найдено без вашей помощи!
Медвежонок Пятачок (2012-05-28 12:24:00) [4]фёрсту вообще как-то глубоко фиолетово на то сколько полей было и сколько осталось.
Медвежонок Пятачок (2012-05-28 12:22:00) [5]lTable.First срабатывает превосходно.
а кто тебе сказал, что с блоком удаления first работает не превосходно?
Медвежонок Пятачок (2012-05-28 12:21:00) [6]значит не пользуешься. либо точки останова ставишь не везде где надо. например в обработчиках событий
jacksotnik (2012-05-28 12:13:00) [7]Отладчиком пользуюсь, а причину ошибки понять немогу. Говорю еще раз если без блока удаления поля, lTable.First срабатывает превосходно. Но как только перед этим удаляю поле сразу экзепшн. Подскажите в чем может быть причина
Медвежонок Пятачок (2012-05-28 12:06:00) [8]ты не делаешь поиска источника ошибки. и не пользуешься отладчиком