Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
ВнизС BDE проблемы!!! Найти похожие ветки
← →
AlexVit (2002-12-20 12:37) [0]Всем привет! Предыстория: есть три программы, которые работают через BDE с общими таблицами DBF. Две программы работают как процессы, т.е. сворачиваются в трей. Третья - клиентский АРМ, который постоянно через таймер (500 мс) обновляет dbgrid с общей таблицей (которая дополняется каждые 2-3 сек.) и показывает клиенту.
Сама проблема в следующем: иногда программы зависают. Это выглядит так: две программы (которые висят в трее) загружаются, но не реагируют на пользовательский вызов, короче, висят. Третья прога (которая АРМ с пользвательским окном) загружается как процесс, окна не дает и в итоге тоже висит. Когда сидел в отладке, то выяснил следующее:
1) в процедуре обоработки события FormCreate всеми тремя прогами открывается одна и та же таблица (использую Table.Open). Так вот, все проги виснут в момент попытки открытия этой таблицы. Причем никакого exception не происходит (ждал его до посинения, но ничего не получил). Если попробовать открыть эту таблицу Database Desktop"ом, то он тоже благополучно виснет. Когда выгружаю всю эту лабуду через Window Task Manager и пробую запустить Database Desktop еще раз, то он говорит, что BDE занята и отключается. Перезагрузка не восстанавливает положение, только переустановка BDE помогает и все опять работает.
Если кто понял мою сумбурно изложенную проблему и что-то может сказать по этому поводу, то с благодарностью приму ответы на мои вопросы: что происходит и как с этим бороться?
они пытаются открыть таблицы DBF (каждая прога свою).
← →
AlexVit (2002-12-20 12:39) [1]Забыл указать: работаю с Delphi6 в W2K
← →
MsGuns (2002-12-20 12:46) [2]Если так уж необходимо держать таблицу открытой сразу в трех независимых процессах, то попробуй использовать для каждой свою сессию (не Default). А вообще вопрос - табла юзается через TDataBase и Alias ?
Да, еще ! "Затрееные" процессы "держат" таблице в каком State ?
← →
AlexVit (2002-12-20 15:15) [3]1) юзается TDataBase, без алиаса
2) с таблицей, которая открывается первой(она содержит рабочие настройки) работа идет по принципу: открыл, считал, закрыл и забыл. Есть, правда, таблица, которая в АРМ постоянно открыта и находится в Browse state. Но до нее дело не доходит, так как проги спотыкаются именно при открытии этой первой таблицы с настройками.
← →
MsGuns (2002-12-20 15:36) [4]Local Share = TRUE ?
← →
MsGuns (2002-12-20 15:38) [5]Еще наводка. Если проги юзают таблицу через запросы, то надо в каждой выставлять PrivDir в отдельный каталог (TSession).
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c