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

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

Table:=false; => Error :( [D6, Paradox]


Страницы:   1 2

Leech ©   (2004-02-13 10:52:00) 

По событию закрытия формы выполняю Table:=false;, что вызывает ошибку "Table: Cannot perform this operation on a closed dataset"... Что вызывает ошибку?


Digitman   (2004-02-13 11:14:00) [21]


> Leech


ошибка не здесь
если НД закрыт, то Table.Active:=False просто ничего не делает и подобного исключения вызвать не может

где-то в обработчиках каких-то событий формы (или ее контролов) , которые возбуждаются уже после отработки Table.Active:=False , есть, очевидно, обращения к методам или св-вам этой Table, управляющим статусом этого НД или позиционирующим курсор НД .. например, методы Insert, Edit, Post, Delete и т.п. гарантированно вызовут подобное исключение при закрытом НД


Leech   (2004-02-13 11:10:00) [22]

2 Жук ©
Так в том и дело, что при закрытии свойство Active - "истина"... Так что по-прежнему это вызывает ошибку...
Я проверил, не нахожусь ли в режиме редактировая перед установкой значения Active в "ложь" - нет, тоже всё нормально...


Жук   (2004-02-13 11:02:00) [23]

if Table.Active then Table.Active:=False;


Leech   (2004-02-13 10:59:00) [24]

Прошу прощения... Table.Active:=False;
Просто дело в том, что не в первый раз пишу приложение для БД... всегда, при открытии формы, Table.Active:=True;, а при закрытии - Table.Active:=False;... и всегда всё было в порядке...


Vlad   (2004-02-13 10:55:00) [25]


> Table:=false

:-)
Не нужно этого делать. После закрытия формы таблицу закроют и высвободят память без твоего участия.


Страницы:   1 2

Наверх

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