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

Вниз

Как DCOM клиенту узнать об изменениях данных на сервере/базе   Найти похожие ветки 

 
maxi   (2001-10-22 16:17) [0]

Как заставить клиента DCOM автоматом обновлять данные, если они изменились на сервере/базе? Имеется метод Refresh у компонента ClientDataSet, но он неудобный - надо самому вызывать.
Есть предложения ?


 
maxi   (2001-10-22 16:43) [1]

Ребята, ну не уж-то не поможете, а ? Я уже 2 дня долбаюсь.


 
maxi   (2001-10-22 16:55) [2]

Ну кто-нить то ответит?


 
sedoy ©   (2001-10-22 17:41) [3]

не знаю природы изменений, но представляю так
на сервере разбиваешь изменения на классы (либо если однотипные, то делаешь счетчик изменений). По событию (счетчик достиг определенного значения ) с сервера шлешь клиентам команду рефреш. В общем суть в том, что сервер дает команду обновления


 
maxi   (2001-10-23 09:18) [4]

Интересно, а как это будет выглядеть ? Хотя бы намекните, как сервер уведомляет клиента? Ведь у меня используется SocketConnectinon и технология Midas. Данные идут пакетами. Да и как вообще сервер узнает об обновлении данных ?


 
sedoy ©   (2001-10-23 16:12) [5]

все в виде рекомендации, сам с такой ситуацией не сталкивался, но возможно придется, если что получится - напиши на мыло
контроль обновления данных возлагается на клиента(при изменении некоторого поля возводится флаг или счетчик и т.д.).
на сервере определи некий метод, в котором клиент передает серверу информацию об изменениях. сервер ведет свой учет по всем клиентам и при некотором значении принимает решение о "всеобщем обновлении".
Простейший вариант - таблица с одной строкой, которую периодически проверяет клиент.
Посмотри, что в другом сообщении сказал digitman. Пробуй...
В общем извращение, но глядя в потолок говорить трудно.


 
Digitman ©   (2001-10-23 16:23) [6]

>sedoy
Вот именно - глядя в потолок не рассуждай об извращениях)


 
sedoy ©   (2001-10-23 17:08) [7]

остроумно, но конкретных решений я пока не видел


 
Digitman ©   (2001-10-23 17:31) [8]

>sedoy
Я решал (и успешно решил) эту задачу, потому и рекомендую автору ... и не все там так уж сложно (хотя и не так уж просто) в реализации ... просто надо не полениться и изучить "потроха" BSS, TServerSocket и TSocketConnection


 
sedoy ©   (2001-10-23 17:54) [9]

спасибо за ответ. сам буду пробовать


 
maxi   (2001-10-24 08:57) [10]

>Digitman
А что скажешь по поводу свойства SupportCallbacks ? Я прочитал хелп на это свойство, но ни хрена не понял зачем оно нужно, а главное - как его использовать ? понял только что оно нужно для маршалинга вызовов с сервака на клиент. В этой задаче оно может быть использовано ?


 
Digitman ©   (2001-10-24 10:10) [11]

>maxi
Не только можно - нужно ! Но без доработки все равно не обойтись.
Чтобы понять, как его использовать, изучи TTransportThread.Execute (модуль SConnect). Транспортный поток как раз и запускается в режиме SupportCallbacks = True.



Страницы: 1 вся ветка

Текущий архив: 2002.01.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
14-52641
VEG
2001-11-19 18:37
2002.01.17
Как загрузить форму из отдельного *.dfm файла???


4-52691
ZserG
2001-11-18 02:47
2002.01.17
Как вставить инструментальную панель в Explorer?


6-52625
Klan
2001-10-23 17:20
2002.01.17
Помогите с Mapi


1-52607
Макс
2001-12-29 11:01
2002.01.17
Шлифую баги с модальными формами


1-52558
AlexNekh
2001-12-27 08:48
2002.01.17
RichEdit