![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
RNS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 3.2.2004 Где: Орск Репутация: нет Всего: нет |
Народ, подскажите, как в программе проверить, открыта база или нет.
Есть база ".db". Она использется двумя программами, одна изменяет ее, если это необходимо, а вторая проверяет эту базу на изменения. База может изменяться не зависимо от времени (в любое время). Просто получается, если база открыта для изменений, то во второй программе при попытке проверить базу, выпадает системная ошибка. Заранее спасибо. ![]() |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Правильно, а чего же Вы хотели? База я так понял Paradox. Поищите по форуму, неоднократно писалось, как организовать совместный доступ к локальным базам (и конкретно про Paradox).
Хотя рекомендую Вам перевести свою базу на клиет-серверную платформу, если с ней будет работать более одного человека. Поверьте, это будет "дешевле". Особенно в перспективе. -------------------- |
|||
|
||||
x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
заведи какую-то таблицу. например, следующего вида:
думаю, суть ясна. первая прога, внося какие-то изменения, в эту таблицу добавляет запись, какие изменения и куда она внесла. поле keyfield необходимо для того, чтобы вторая программа могла отследить конкретную запись, в которую вносятся изменения, которая была вставлена или удалена. вторая программа опрашивает эту таблицу, если находит в ней какие-то записи, то отрабатывает их и удаляет. потом опять опрашивает. т.е. если в таблице есть записи - то изменения однозначно были. чтобы узнать, каке именно - опрашиваем таблицу. если же нужно просто знать, вносились изменения или нет, заведи одну таблицу с одним полем. первая прога пишет в него 1, если база была изменена. вторая прога, если видит единицу, выводит сообщения (или что она там делает) и ставит это поле обратно в 0. тогда вообще всё просто ![]() что касается системных ошибок. у тебя что, база открывается в режиме exclusive? -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
RNS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 3.2.2004 Где: Орск Репутация: нет Всего: нет |
x77
Базу открываю через: Table1.Active:=True. А что значит в режиме 'exclusive'? И какие режимы еще бывают, как их выбирать? Напиши если не трудно. И я что-то вообще не пойму, сначала при запуске второй проги, использующей базу, выдывалась ошибка, сейчас нет. Запускаются обе программы, в одной изменяю базу, в другой базе отображаются данные вместе со всеми изменениями. Не знаю, может я гоню. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |