![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как DCOM клиенту узнать об изменениях данных на сервере/базе [D5, NT4, Win2k]
maxi © (2001-10-22 16:17:00)Как заставить клиента DCOM автоматом обновлять данные, если они изменились на сервере/базе? Имеется метод Refresh у компонента ClientDataSet, но он неудобный - надо самому вызывать.
Есть предложения ?
Digitman (2001-10-24 10:10:00) [1]>maxi
Не только можно - нужно ! Но без доработки все равно не обойтись.
Чтобы понять, как его использовать, изучи TTransportThread.Execute (модуль SConnect). Транспортный поток как раз и запускается в режиме SupportCallbacks = True.
maxi (2001-10-24 08:57:00) [2]>Digitman
А что скажешь по поводу свойства SupportCallbacks ? Я прочитал хелп на это свойство, но ни хрена не понял зачем оно нужно, а главное - как его использовать ? понял только что оно нужно для маршалинга вызовов с сервака на клиент. В этой задаче оно может быть использовано ?
sedoy (2001-10-23 17:54:00) [3]спасибо за ответ. сам буду пробовать
Digitman (2001-10-23 17:31:00) [4]>sedoy
Я решал (и успешно решил) эту задачу, потому и рекомендую автору ... и не все там так уж сложно (хотя и не так уж просто) в реализации ... просто надо не полениться и изучить "потроха" BSS, TServerSocket и TSocketConnection
sedoy (2001-10-23 17:08:00) [5]остроумно, но конкретных решений я пока не видел
Digitman (2001-10-23 16:23:00) [6]>sedoy
Вот именно - глядя в потолок не рассуждай об извращениях)
sedoy (2001-10-23 16:12:00) [7]все в виде рекомендации, сам с такой ситуацией не сталкивался, но возможно придется, если что получится - напиши на мыло
контроль обновления данных возлагается на клиента(при изменении некоторого поля возводится флаг или счетчик и т.д.).
на сервере определи некий метод, в котором клиент передает серверу информацию об изменениях. сервер ведет свой учет по всем клиентам и при некотором значении принимает решение о "всеобщем обновлении".
Простейший вариант - таблица с одной строкой, которую периодически проверяет клиент.
Посмотри, что в другом сообщении сказал digitman. Пробуй...
В общем извращение, но глядя в потолок говорить трудно.
maxi (2001-10-23 09:18:00) [8]Интересно, а как это будет выглядеть ? Хотя бы намекните, как сервер уведомляет клиента? Ведь у меня используется SocketConnectinon и технология Midas. Данные идут пакетами. Да и как вообще сервер узнает об обновлении данных ?
sedoy (2001-10-22 17:41:00) [9]не знаю природы изменений, но представляю так
на сервере разбиваешь изменения на классы (либо если однотипные, то делаешь счетчик изменений). По событию (счетчик достиг определенного значения ) с сервера шлешь клиентам команду рефреш. В общем суть в том, что сервер дает команду обновления
maxi (2001-10-22 16:55:00) [10]Ну кто-нить то ответит?
maxi (2001-10-22 16:43:00) [11]Ребята, ну не уж-то не поможете, а ? Я уже 2 дня долбаюсь.