Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];

Вниз

Как 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.004 c
3-52507
Softmaster
2001-12-16 14:46
2002.01.17
Проблема с группировкой в отчете при использовании QReport


3-52469
ev
2001-12-11 19:15
2002.01.17
что за база?


14-52667
Art
2001-11-21 11:36
2002.01.17
Народ!Какие бы ф-ции вы хотели бы в парольной защите???


3-52506
Игорь
2001-12-16 04:00
2002.01.17
Редактор полей в D6


3-52498
HrUsT
2001-12-13 22:00
2002.01.17
Добавление картинки в БД





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