Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Две копии приложения и одна таблица   Найти похожие ветки 

 
Интересующийся   (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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.058 c
15-1157295084
vrem
2006-09-03 18:51
2006.09.24
Раскол


2-1157613050
RebroFF
2006-09-07 11:10
2006.09.24
Работа с DBGrid


9-1135794926
n0p
2005-12-28 21:35
2006.09.24
OpenGl in 2d =)


11-1132361931
gdaujk
2005-11-19 03:58
2006.09.24
KOL зеркальный аналог TChart.


2-1156982136
AlDun
2006-08-31 03:55
2006.09.24
Access Violation