Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
ВнизДве копии приложения и одна таблица Найти похожие ветки
← →
Интересующийся (2006-08-31 22:19) [0]Я столкнулся со следующей проблемой:
При работе с двумя копиями приложения при изменении значения поля таблицы в одном приложении значение этого поля во втором приложении остается прежнем.
Как сделать так чтобы значение обновлялось сразу после изменения и отображалась одинаково?
P.S.
Если возможно подскажите плиз варианты многопользовательской работы с таблицами (*.db и *.dbf)
← →
Reindeer Moss Eater © (2006-08-31 22:22) [1]Табличные значения полей копируются в приложение в момент открытия таблицы приложением.
← →
Интересующийся (2006-08-31 22:28) [2]А нельзя их обновлять по событию?
Типа дать сигнал всем копия о том что было изменение или другим образом.....
← →
Reindeer Moss Eater © (2006-08-31 22:29) [3]Можно. Дай.
← →
Desdechado © (2006-08-31 22:32) [4]Нормальный способ работы с данными такой: ты попросил, тебе показали.
Сами данные не напрашиваются для показа.
Поэтому, если хочешь видеть изменения, сделанные другими, переоткрой запрос к данным. регулярность переоткрытия обычно определяется пользователем, но может программироваться и по таймеру, например.
← →
Виталий Панасенко (2006-08-31 23:06) [5]вся соль - зачем видеть все сразу ?!!! продаем колбасу, а нам, оказывается, жутко интресно, сколько конфет осталось ! и наоборот, продаю конфеты, а мне тут собщаю, что колбасы то уже нету, сожрали, гады !...так интересно !!!
← →
Anatoly Podgoretsky © (2006-08-31 23:25) [6]Соль еще в том, что человек работает - редактирует, двигается по гриду, просто смотрит на него анализирует данные, а тут его обухом по голове, не фиг сиотрет, посмотри лучше на это и дергают ему грид. После этого начинаешь ненавидеть этих продвинутых на голову программистов.
← →
Германн © (2006-09-01 01:47) [7]Имхо, для Парадокса (db) есть(был) подобный механизм. См. cbTABLECHANGED в BDE32.hlp. Я не смог его изучить с целью реального применения, просто "пошёл другим путём". Может тебе повезёт больше?
← →
Германн © (2006-09-01 01:52) [8]
> Desdechado © (31.08.06 22:32) [4]
>
> Нормальный способ работы с данными такой: ты попросил, тебе
> показали.
> Сами данные не напрашиваются для показа.
> Поэтому, если хочешь видеть изменения, сделанные другими,
> переоткрой запрос к данным. регулярность переоткрытия обычно
> определяется пользователем, но может программироваться и
> по таймеру, например.
> <Цитата>
>
> Виталий Панасенко (31.08.06 23:06) [5]
>
> вся соль - зачем видеть все сразу ?!!! продаем колбасу,
> а нам, оказывается, жутко интресно, сколько конфет осталось
> ! и наоборот, продаю конфеты, а мне тут собщаю, что колбасы
> то уже нету, сожрали, гады !...так интересно !!!
> <Цитата>
>
> Anatoly Podgoretsky © (31.08.06 23:25) [6]
>
> Соль еще в том, что человек работает - редактирует, двигается
> по гриду, просто смотрит на него анализирует данные, а тут
> его обухом по голове, не фиг сиотрет, посмотри лучше на
> это и дергают ему грид. После этого начинаешь ненавидеть
> этих продвинутых на голову программистов.
>
Ну только не надо ограничивать возможные варианты работы с базами данных Вашими предстрастиями или Вашими возможностями!
← →
Desdechado © (2006-09-01 11:20) [9]Германн © (01.09.06 01:52) [8]
Гланды через ж..у - это тоже возможный вариант. Но не мой. Мои обкатаны временем и пользователями.
PS Не исключено, что есть и другие полезные, для других задач. Но поскольку сама задача не озвучена, предполагаю самое распространенное.
← →
BoxTer © (2006-09-01 11:51) [10]Desdechado прав. Юзеры будут выть от бесконечных дерганий грида. Данные на клиента поступают после запроса, и никак иначе...
← →
Интересующийся (2006-09-01 16:07) [11]>Виталий Панасенко (31.08.06 23:06) [5]
>Anatoly Podgoretsky © (31.08.06 23:25) [6]
>
> Соль еще в том, что человек работает - редактирует, двигается по гриду, >просто смотрит на него анализирует данные, а тут его обухом по голове, не >фиг сиотрет, посмотри лучше на это и дергают ему грид. После этого
>начинаешь ненавидеть этих продвинутых на голову программистов.
>
>BoxTer © (01.09.06 11:51) [10]
>
>Desdechado прав. Юзеры будут выть от бесконечных дерганий грида. Данные на клиента поступают после запроса, и никак иначе...
Самому такая фигня нетравится :)
Но для рассатриваемава вопроса движение грида как раз отсутствует, а есть запись в таблице (не TTable) которую в данный момент редактит другой пользователь и пока он ее редакти все нормально....
>Desdechado © (01.09.06 11:20) [9]
>
>PS Не исключено, что есть и другие полезные, для других задач. Но поскольку сама задача не озвучена, предполагаю самое распространенное.
>
>BoxTer © (01.09.06 11:51) [10]
>
> Desdechado прав. Юзеры будут выть от бесконечных дерганий грида. Данные на клиента поступают после запроса, и никак иначе...
Отна таблица (DB-файл), две копии приложения приложения в итоге следующая ситуация:
1. При добавлении новой записи, удалении или редактировании существующей в одной копии ее грид изменяется и все идет нормально, но второе приложение показывает что эти данные есть или они неменялись :(
Как результат пользователь второго приложения ничего незнает о действиях первого.
2. Кроме грида изменение невидят и остальные компоненты получающие данные из TTable
Отсюда следующий вывод - или данные непоподают из приложения в файл, что маловероятно или данные записываются но второе приложение об этом незнает.
P.S.
Хотелось бы чтобы при любых изменения все копии знали об этом и корректно отоброжали эту информацию.
← →
Reindeer Moss Eater © (2006-09-01 16:13) [12]Забудь про это.
Тебе нужны актуальные данные?
Как только они тебе действительно нужны - открой датасет заново.
← →
Интересующийся (2006-09-01 16:19) [13]Система реального времени....
Они нужны так часто как они обновляются.
← →
Reindeer Moss Eater © (2006-09-01 16:23) [14]Тогда непрерывно открывай и закрывай датасет
← →
Интересующийся (2006-09-01 16:35) [15]Данные обновляются нетак часто....
Максимум что я могу позволить обновлять кажую минуту.
Но мне кажется, что будет проще сообщать всем копиям о изменениях данных.
Но как это реализовать?
Возможно создать чтото вроде хука, но это будет работать в пределах одной машины....
← →
Сергей М. © (2006-09-01 16:37) [16]
> мне кажется, что будет проще сообщать всем копиям о изменениях
> данных.
>
Правильно тебе кажется.
> как это реализовать?
С использованием Парадокса - только реализовав трехзвенку.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.063 c