Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];

Вниз

Открыть таблицу в эксклюзивном режиме   Найти похожие ветки 

 
denary   (2003-04-23 01:31) [0]

Господа мастера, помогите чайнику, замучился!
Не могу открыть таблицу в экслюзивном режиме. Что ни делал - Table is busy. В чем причина может быть?

Table1.Active := False;
repeat { until successful or Cancel button is pressed }
try
Table1.Exclusive := True;
Table1.Active:=True; //здесь получаем ругательство типа
// Table is busy
Break; { If no error, exit the loop }
except
on EDatabaseError do
{ Ask if it is OK to retry. If it isn’t, reraise to abort }
if Application.MessageBox(
"Could not open Table1 exclusively - Try again?",

"Open Error",
MB_OKCANCEL + MB_DEFBUTTON1) <> IDOK then
raise;
{ Otherwise resume the repeat loop }
end;
until False;
// Make sure the table is open exclusively so we can get the db handle...
if not Table1.Active then
raise EDatabaseError.Create("Table must be opened to pack");
if not Table1.Exclusive then

raise EDatabaseError.Create("Table must be opened exclusively to pack");

// Get the table properties to determine table type...
Check(DbiGetCursorProps(Table1.Handle, Props));

// If the table is a dBASE table, simply call DbiPackTable...
if (Props.szTableType = szDBASE) then
Check(DbiPackTable(Table1.DBHandle, Table1.Handle, nil, szDBASE, True))
else
// Pack only works on PAradox or dBASE; nothing else...
raise EDatabaseError.Create("Table must be either of Paradox or dBASE " +

"type to pack");


 
Виталий Панасенко   (2003-04-23 08:33) [1]

Похоже в среде таблица открыта во время дизайна ...


 
ККВ   (2003-04-23 09:21) [2]

Делфи тоже является пользователем таблицы...


 
denary   (2003-04-24 02:16) [3]

Во время дизайна специально поставил Active=False, только при событии Form.OnShow во время выполнения делаю Table1.Open. Не помогает. Если Делфи тоже является пользователем таблицы, как же тогда программно открыть эксклюзивно?


 
Дмитрий К.К.   (2003-04-24 08:26) [4]

Трудно закрыть Дельфю, запустить прогу на выполнение и проверить, открывается ли таблица экслюзивно в этом случае?


 
AlexSerp   (2003-04-24 08:34) [5]

Правой клавишей по компоненту таблицы - жмак.
Выбрать Explore - откроется SQLExplorer, а в нем ты увидишь, что твоя база открыта.
Закрой ее и будет тебе щасье.



 
denary   (2003-04-25 00:41) [6]

Спасибо всем за помощь, заработало! до меня наконец дошло, что приложение при запуске создает все свои формы (FormCreate), и если хоть в одной из них в дизайне было указано Table1.Active=True, таблица будет занята. Даже если эта форма никогда не открывается.
Еще раз спасибо всем.


 
Дмитрий К.К.   (2003-04-25 09:12) [7]

Форма не открывается, но создается! То-то же...



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
9-46554
Denton
2002-12-04 00:12
2003.05.15
Помогите с физикой


14-46930
aga
2003-04-24 17:25
2003.05.15
Чат...


1-46678
V-A-V
2003-04-30 11:03
2003.05.15
глюки с Word


3-46649
Rise
2003-04-24 13:56
2003.05.15
UpdateSQL И Query


14-46982
Opera
2003-04-27 14:25
2003.05.15
Приписывание





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский