Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
4-1148487663
GrBob
2006-05-24 20:21
2006.09.24
Как службой поймать момент подключения пользователя


6-1146737769
марк
2006-05-04 14:16
2006.09.24
Принять поток/файл в ответ на запрос.


9-1134746549
злобная танька
2005-12-16 18:22
2006.09.24
как сделать стеныы


15-1157543362
VitV
2006-09-06 15:49
2006.09.24
русский msdn


2-1157466033
DeMiUrG
2006-09-05 18:20
2006.09.24
ошибка при работе с Excel





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский