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

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

Таблицы [D3, Win2k]


Ольга ©   (2002-01-22 10:54:00) 

Подскажите пожалуйста, в чем ошибка.
У меня есть таблица Table1. При создании формы у этой таблицы tablename:="Data.dbf", потом при нажатии кнопки меняется значение Tablename:="last.dbf" и он пишет ошибку :
"Table cannot be operend for exclusive use", хотя я сначала закрываю ее, а потом переименовываю.


sudiv   (2002-01-22 15:28:00) [1]

Ну все ответы перехватили!, а говорят отвечать уже на вопросы не хочется. Ностальгия замучила.
А тут ответить даже не дают. :)))


Ольга   (2002-01-22 12:30:00) [2]

Блин, догнала, спасибо большое...


gek   (2002-01-22 12:23:00) [3]

Table1 должна быть закрыта и установлен монопольный режим
до очистки таблицы


Table2.close;
Table2.CachedUpdates:=false;
table2.TableName:="Last.dbf";
table2.Exclusive:=false;
Table1.EmptyTable;


>>И на последней строке он выдает ошибку - см. выше
Вот именно



Ольга   (2002-01-22 12:21:00) [4]

table1 - очищается
Table2 - переименовывается


Ольга   (2002-01-22 12:18:00) [5]

table2.Exclusive:=true; // <<<<<<<<<<<<
Table1.EmptyTable;
table2.Exclusive:=false;

Очищается другая же таблица


panov   (2002-01-22 12:17:00) [6]

>Ольга (22.01.02 12:06)
table2.Exclusive:=true; означает, что таблица открывается в монопольномрежиме для выполнения привилегированных(глобальных) операций, какой в данном случае является EmptyTable.


Desdechado   (2002-01-22 12:14:00) [7]

для очистки таблицы требуется монопольный режим (Exclusive = True)
А в Delphi IDE не будет работать, если в DesignTime таблица уже открыта


Ольга   (2002-01-22 12:06:00) [8]

Извините, не поняла...
почему true и почему не будет работать?


gek   (2002-01-22 11:59:00) [9]

Table2.close;
Table2.CachedUpdates:=false;
table2.TableName:="Last.dbf";
table2.Exclusive:=true; // <<<<<<<<<<<<
Table1.EmptyTable;
table2.Exclusive:=false;

Весь код не будет работать под Delhi IDE т.е. c загруженным Delphi с этой прогой


Ольга   (2002-01-22 11:52:00) [10]

Exclusive:=false;

У меня с самого начала стоит


Ольга   (2002-01-22 11:51:00) [11]

Table2.close;
Table2.CachedUpdates:=false;
table2.TableName:="Last.dbf";
table2.Exclusive:=false;
Table1.EmptyTable;


И на последней строке он выдает ошибку - см. выше


sudiv   (2002-01-22 11:45:00) [12]

М-да. Смешно немного, извиняюсь.
Неплохо бы фрагмент кода
с закрыванием и переименовыванием ?


Desdechado   (2002-01-22 11:44:00) [13]

есть свойство Exclusive. почитай справку.
коротко: если оно True, то таблицу может открыть только одна программа один раз. никто, пока она открыта, не может больше ее открыть, даже та же самая программа.
поэтому либо сделай False (это даст подключаться к таблице нескольким пользователям/программам одновременно), или гарантируй однопользовательский режим доступа к ней.


sudiv   (2002-01-22 11:43:00) [14]

М-да. Смешно немного, извиняюсь.
Именно в TableName и порядке действий вроде нет ошибки.
Неплохо бы фрагмент кода ?


Ольга   (2002-01-22 11:33:00) [15]

с нее - наверное с таблицы...


sudiv   (2002-01-22 11:32:00) [16]

С кого надо снять ФОКУС ???


Ольга   (2002-01-22 11:00:00) [17]

А в каком это свойстве?


IronHawk   (2002-01-22 10:56:00) [18]

Ты не снимаешь с неё "ФОКУС"


Наверх

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